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

标签 javascript angularjs cucumber protractor cucumberjs

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

具体情况:

  • Protractor
  • SystemJS 加载 ES6 BabelJS 转译系统模块
  • cucumber .js
  • Chai,chai-as-promised

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

在 SystemJS 中使用 Protractor 的正确方法是什么?

最佳答案

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

相反,根据我的经验,它们几乎是使用 Protractor 的乐趣。

不过,您可以采取以下措施来缓解这些问题:

  • 在任何测试运行之前添加 browser.manage().timeouts().implicitlyWait(5000);。也许在你的 Protractor onPrepare 配置方法中
  • 试试 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/

相关文章:

javascript - 删除上次单击的跨度上的图标

javascript - 我们如何设计来自数组连接的字符串?

angularjs - {{::photo.src}} 的一次性绑定(bind)抛出错误

angularjs - 警告 : Added non-passive event listener to a scroll-blocking 'touchmove' event when md-select is in md-tabs

javascript - WSO2 ESB 迭代计数器

javascript - 鼠标靠近 jQuery 元素的函数

javascript - jQuery:不能在单个对象上两次使用 "find"方法

java - 使用 Cucumber 进行回归组件测试。应该测试的层是否有边界?

ruby-on-rails - Cucumber 测试有 60% 的时间在传递功能代码时失败的常见原因有哪些?

java - 在与 Selenium 一起使用时如何验证 cucumber jar