将Protractor与SystemJS一起使用的正确方法是什么?

时间:2015-08-07 15:36:10

标签: javascript angularjs cucumber protractor cucumberjs

这个问题也应该适用于requirejs。

细节:

  • 量角器
  • SystemJS加载ES6 BabelJS已编译的系统模块
  • Cucumber.js
  • Chai,chai-as-promised

我问的原因是因为我只有几个非常基本的黄瓜测试,有时我得到错误(不一致)涉及超时或等待与页面同步等。其他时间我的测试通过并且没有给出超时错误。关于这些问题,没有大量的权威信息。主要是一堆SO和github问题。

将Protractor与SystemJS一起使用的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

这些听起来不像是SystemJS特有的问题。

相反,根据我的经验,他们非常喜欢与量角器合作。

您可以采取的措施来缓解这些问题,但包括:

  • 在运行任何测试之前添加browser.manage().timeouts().implicitlyWait(5000);。也许在您的量角器onPrepare配置方法
  • 试试browser.waitForAngular();
    • 理论上它在Protractor中被称为内部,但似乎需要一些东西..?
  • 在点击之前等待元素可点击: browser.wait(protractor.ExpectedConditions.elementToBeClickable(elm), 2000); elm.click();

您可能也有兴趣看到有一个新项目希望避免使用基于硒的测试框架的所有陷阱......完全不使用硒。它声称更简单,更快速,更不容易出错:https://www.cypress.io/