testing - 通过 Protractor 实例访问同步行为

标签 testing jasmine protractor

我想在我的测试中注入(inject)一个 Protractor 实例,然后用它来执行导航和元素选择,但似乎卡在 Protractor 对象上的功能都是异步的,并且browserelement 上的功能是同步的。

有没有办法通过 Protractor 对象访问同步行为?

此外:我已经看到在开始时调用以下内容的测试:

protractor.getInstance()

...而且我已经看到直接使用全局可用的 browserelement 对象的测试。

这两种方法之间的重要区别是什么?

最佳答案

Protractor 中没有任何东西是同步的。在 jasmine 被修补(由 jasminewd)以等待异步代码之前,它看起来就是这样,这样它更容易使用。

请阅读https://code.google.com/p/selenium/wiki/WebDriverJs查看控制流如何使 webdriver 中的所有内容看起来同步。然后阅读 https://github.com/angular/protractor/blob/master/docs/control-flow.md看看 Protractor 是如何用 jasminewd 做的。

@glepretre (stackoverflow.com/q/25496379/3049002) 共享的链接告诉您 ptor.get 和 browser.get 之间的区别。简而言之,使用 browser.get()

关于testing - 通过 Protractor 实例访问同步行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511524/

相关文章:

testing - JMeter 线程属性说明

testing - 我们可以在拉丁语言中使用什么样的分割规则来编写测试用例?

javascript - Protractor 和 Angular : How to test two pages in an app, 一个接一个?

javascript - 具有外部依赖项的 Jasmine 单元测试指令失败并出现 TypeError : '[object Object]'

javascript - 如何让用户可以从 cli 安装我的测试包?

testing - Protractor 预期条件 visibilityOf() 在未显示元素时返回 true

javascript - Chrome中的 Protractor 错误消息 "unsupported command-line flag"?

testing - JUnit 使用 Spring MVC 测试 web.xml

testing - Ember QUnit 模块用于(测试)适配器检索存储

javascript - 如何测试销毁范围