Protractor 量角器错误-错误:超时超过2000ms。对于异步测试和挂钩,请确保;完成();被称为;如果返回承诺,请确保它已解决
我正在学习量角器,但我面临一个“承诺”错误的问题。我读了很多书,但是我仍然困在这个简单的代码中 基本上如果我加上这行 元素(by.css(gotograb_css))。单击() 将会有一个错误 错误:超过2000毫秒的超时时间。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保它已解决 我是否要在此之后添加一个.then()?我试过了,即使脚本末尾有done(),错误仍然存在 我在config.js中针对量角器的测试框架是mochai 背景 1.元素css是正确的,因为我可以在Selenium/Java中运行它Protractor 量角器错误-错误:超时超过2000ms。对于异步测试和挂钩,请确保;完成();被称为;如果返回承诺,请确保它已解决,protractor,Protractor,我正在学习量角器,但我面临一个“承诺”错误的问题。我读了很多书,但是我仍然困在这个简单的代码中 基本上如果我加上这行 元素(by.css(gotograb_css))。单击() 将会有一个错误 错误:超过2000毫秒的超时时间。对于异步测试和挂钩,确保调用“done()”;如果返回承诺,请确保它已解决 我是否要在此之后添加一个.then()?我试过了,即使脚本末尾有done(),错误仍然存在 我在config.js中针对量角器的测试框架是mochai 背景 1.元素css是正确的,因为我可以在S
var title_css = "h1[ng-bind='::$ctrl.primaryText']";
var gotograb_css = "a[ng-bind='::$ctrl.linkoutText']";
it("testing site", ()=> {
browser.get('https://www.eat24.com/');
let EC = protractor.ExpectedConditions; //
let title_element = element(by.css(title_css));
let condition = EC.presenceOf(title_element);
browser.wait(condition, 30000)
element(by.css(gotograb_css)).click(); //ERROR
})
我认为问题在于
browser.wait
功能没有得到解决。试试这个:
let condition = EC.presenceOf(title_element);
return browser.wait(condition, 30000)
.then(function () {
return element(by.css(gotograb_css)).click();
});
在配置中,似乎已将全局超时设置为
2000
ms
然后你尝试等待30秒,这显然比你的全局超时时间还要长
因此,只需打开配置文件,看看情况是否如此如果您正在使用mocha,您可能需要禁用超时功能,向配置文件中添加如下内容:
mochaOpts: {
enableTimeouts: false
},
我在这里添加了超时。问题不是这个。谢谢
mochaOpts: {
enableTimeouts: false
},