这个问题应该也适用于 requirejs。
具体情况:
- Protractor
- SystemJS 加载 ES6 BabelJS 转译系统模块
- cucumber .js
- Chai,chai-as-promised
我问的原因是因为我只有几个非常基本的 cucumber 测试,有时我会收到错误(不一致)涉及超时或等待与页面同步等。其他时候我的测试通过并且没有超时错误.没有大量关于这些问题的权威信息。主要只是一堆 SO 和 github 问题。
在 SystemJS 中使用 Protractor 的正确方法是什么?
最佳答案
这些听起来不像是 SystemJS 特有的问题。
相反,根据我的经验,它们几乎是使用 Protractor 的乐趣。
不过,您可以采取以下措施来缓解这些问题:
- 在任何测试运行之前添加
browser.manage().timeouts().implicitlyWait(5000);
。也许在你的 ProtractoronPrepare
配置方法中 - 试试
browser.waitForAngular();
- 理论上它在 Protractor 内部被调用,但似乎需要它......?
- 等待元素可点击,然后再点击它们:
browser.wait(protractor.ExpectedConditions.elementToBeClickable(elm), 2000);
elm.click();
您可能也有兴趣看到有一个新项目希望通过完全不使用 selenium 来避免基于 selenium 的测试框架的所有缺陷。它声称更简单、更快且更不容易出错:https://www.cypress.io/
关于javascript - 将 Protractor 与 SystemJS 一起使用的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881592/