一尘不染

量角器中的`browser.call()`是什么?

selenium

我最近正在浏览量角器API,并注意到该browser.call()方法

调度命令以在webdriver的控制流上下文中执行自定义功能。

我想将此功能添加到我的工具箱中,但是我不确定我完全了解何时可以在实践中使用它,以及它涵盖哪些用例?


阅读 318

收藏
2020-06-26

共1个答案

一尘不染

量角器的工作方式是有一个内部队列,在其中设置函数的顺序。因此,如果您要在测试中的某个地方调用某个函数而不告诉量角器,则该函数将不在队列中,并且该函数的实际执行可能随时发生。您可以console.log("something")在测试中使用进行检查,看看它们没有按照编写应用程序的顺序执行。

如果您希望某个函数在webdriver事件之后专门运行(这意味着您要将其添加到队列中),则可以browser.call()像这样在内部调用它

browser.previousStep();
browser.call(functionX, this, parameters...)
browser.nextStep()

this参数表示:

在其范围内执行功能的this 对象(即功能的对象)。

如文档中所述。

2020-06-26