我们正在实施BDD方法并使用量角器进行测试。测试中的应用程序具有Angular和Non Angular页面。登录页面是非角度的,主页是有角度的。该脚本在登录页面上运行正常,当它落到非角度时没有任何事情发生(没有执行任何操作)。
可能是什么问题?
StepDefinition.js
false
答案 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;
})
});