当前位置: 首页 > 面试题库 >

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

丰景同
2023-03-14
问题内容

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

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

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


问题答案:

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

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

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

this参数表示:

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

如文档中所述。



 类似资料:
  • 问题内容: 我见过很多次有人建议使用它: 但是我不明白为什么我们需要它? 问题答案: 一个简单的答案是,它使量角器不必等待Angular承诺,例如来自或解决的Angular承诺,如果您在或期间(例如,“正在加载”消息)测试行为或测试非Angular承诺,角度站点或页面,例如单独的登录页面。 例如,要测试在请求期间设置加载消息的按钮,可以在获取元素时将其设置为+检查其内容 一个更复杂的答案是将其设置

  • 下拉列表包含和包含可见的: 我无法使用此代码: 我没有下拉列表的值。 在这种情况下,下拉列表的量角器代码应该是什么?

  • 问题内容: 新用户在这里。 经过数小时的抽烟和回归测试,在网上阅读了许多案例后,我发现phantomjs被认为很难与量角器一起运行。到目前为止,Jenkins一直在为所有任务运行phantomjs。 他们需要这些测试才能作为未安装窗口系统的ci的一部分运行。 因此,如果有关于完全无头浏览器或无头chrome的建议(这将是最有益的)并逐步进行设置,我将不胜感激。我已经有一个conf.js和e2e.c

  • 经过数小时的构建我的烟雾和回归测试,我发现在网上阅读了许多案例后,phantomjs是已知的一个麻烦运行与量角器。Jenkins一直在运行phantomjs来完成目前为止赋予它的所有任务。 他们需要这些测试作为配置项的一部分运行,而配置项没有安装窗口系统。 因此,如果有一个完全无头浏览器或无头chrome(这将是最有益的)的推荐和一步一步地设置它,我将非常感激。我已经有一个conf.js和一个e2

  • 问题内容: 我试图只是运行包含在Internet Explorer 上的量角器中的示例测试,并且不会太远:( 我尝试过将浏览器名称更改为“ internet Explorer”和 “ version”:11,并且我已注释掉directConnect(因为它对此有所抱怨 ) 我得到的错误是… WebDriverError:必须通过 webdriver.ie.driver系统属性设置驱动程序可执行文件

  • 问题内容: 根据文档,有两种方法可以获取(调用结果)内部有多少个元素: ,记录在这里: …该数组等于由找到的元素的,每个结果代表对该元素执行操作的结果。 ,记录在这里: 计算表示的元素数量。 这两种方法有什么区别,应首选哪一种? 问题答案: 需要解决诺言以正确获取元素的长度。 一个包装器,它本身就是一个承诺,不需要解决承诺,例如 哪一个应该是首选? 除非在进行定位和参与时有一些复杂的业务,否则它将