Angularjs 在量角器插件中查找元素
我想在量角器测试的每个步骤之前添加额外的代码。所以我决定写一个小插件并使用一个钩子,比如“waitForPromise” 我无法访问任何量角器或浏览器实例。下面是代码示例Angularjs 在量角器插件中查找元素,angularjs,selenium-webdriver,protractor,Angularjs,Selenium Webdriver,Protractor,我想在量角器测试的每个步骤之前添加额外的代码。所以我决定写一个小插件并使用一个钩子,比如“waitForPromise” 我无法访问任何量角器或浏览器实例。下面是代码示例 var protractor = require('protractor'); var EC = protractor.ExpectedConditions; module.exports = { waitForPromise: function(){ //this add 3 second aft
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”的工作解决方案感兴趣,您可以检查。您可以通过以下方式之一使用量角器中的定位器:
element(by.css('app-title'));
或者上面的简称是:
$('app-title');
你两者都在使用,所以我认为这就是问题所在。请参考在量角器中使用定位器的官方页面-对于这个错误,我已经尝试了很多方法来选择元素。两种方法都不起作用。测试一直停留在这一步上,好像它无法以某种方式解决承诺。我已经更新了线程。您使用的是Node.js的哪个版本?Node版本:v6.11.0