黄瓜量角器 - Angular和Non Angular应用程序的页面超时问题

时间:2018-05-01 18:54:33

标签: javascript angular protractor

我们正在实施BDD方法并使用量角器进行测试。测试中的应用程序具有Angular和Non Angular页面。登录页面是非角度的,主页是有角度的。该脚本在登录页面上运行正常,当它落到非角度时没有任何事情发生(没有执行任何操作)。

可能是什么问题?

StepDefinition.js

false

1 个答案:

答案 0 :(得分:1)

您的代码中有两个问题,请在修复后再次尝试:

1)您将browser.ignoreSynchronization = true置于return后面,这没有任何意义。

browser.get()内,它会检测到开头页面是有角度的,除了将browser.ignoreSynchronization = true放在browser.get()之前告诉量角器开头页面是非角度页面。

Given(/^User lands on Login$/, function () {
      var appUrl = properties.get('appUrl');
      browser.ignoreSynchronization = true;
      return browser.driver.get('appUrl');
});

2)您必须为每个步骤定义返回一个类似于对象的承诺,否则跑步者将暂停该步骤定义直到超时。

waitForAngular()相当于browser.ignoreSynchronization = false;,前者是在量角器中引入的更高版本,后者可以在量角器中使用更高版本。

为什么不使用Protractor API xph.get('Login').click(),而是使用Javascript DOM API点击Submit按钮。

When(/^User Clicks Submit$/, function(){
      return element(<locator of Submit button>).click().then(function(){
          return browser.ignoreSynchronization = false;
      }) 
});