我想在量角器测试的每一步之前添加额外的代码。所以我决定编写一个小插件并使用其中一个钩子,比如“waitForPromise”。
https://github.com/angular/protractor/blob/5.1.2/lib/plugins.ts#L163
我有问题要去任何量角器或浏览器实例。这是代码示例。
var protractor = require('protractor');
var EC = protractor.ExpectedConditions;
module.exports = {
waitForPromise: function(){
//this add 3 second after each promise(work fine)
browser.sleep(3000);
//this doesn't work. looks like it goes to endless promise execution.
return browser.wait(function () {
return $('body').getAttribute('class').then(function (attr) {
console.log(attr);
});
},3000);
}
};
更新 根据研究,我已经更新了我的例子。
更新:如果有人知道为什么此代码不起作用,请随时回答。
waitForPromise: function(){
return $('body').isPresent().then(function (val) {
console.log('present',val);
});
}
如果有人对“waitForPromise”的解决方案感兴趣,您可以查看this。
答案 0 :(得分:0)
您可以通过以下方式之一在量角器中使用定位器:
element(by.css('app-title'));
或上面的简写是:
$('app-title');
你正在使用两者,所以我认为这是问题所在。请参阅量角器中使用定位器的官方页面 - http://www.protractortest.org/#/locators