我有一些问题打开到Selenium + mocha的网址。这是我使用的代码行。
return driver.get('http://localhost/ClickSuscribe/#/MisProductos')
我发现角网址存在一些问题,但我还没有找到解决方案。
错误为Error: timeout of 40000ms exceeded. Ensure the done() callback is being called in this test.
这是测试用例:
it("Is visible", function() {
if(viable)
{
return driver.findElements(webdriver.By.id('activarMiSitio')).then(function(misProductos){
misProductos[0].getAttribute("class").then(function(webElement){
if(webElement==='ng-hide')
{
console.log('Element not found');
}
else{
console.log('Element exists');
}
}).then(function(){
driver.sleep(500);
//return driver.get('http://localhost/ClickSuscribe/#').catch(r => console.log(r));
return driver.get('http://localhost/ClickSuscribe/#/MisProductos').catch(r => console.log(r));
});/*.then(function(){
driver.sleep(2000);
return driver.getCurrentUrl();
}).then(function(currentUrl){
driver.sleep(1000);
console.log(currentUrl);
});*/
});
}
return console.log("No está loggeado");
});
PS:这在Chrome和IE中都有效。似乎selenium在处理带有锚或磅的URL方面存在问题,'#'。
答案 0 :(得分:0)
错误说
确保在此测试中调用done()回调。
您可以按如下方式注入done
回调:
it("Is visible", function(done) {
//...
});
并设置每次测试完成的超时时间:
describe('...', function(){
this.timeout(15000);
it('...', function(done){
this.timeout(15000);
setTimeout(done, 15000);
});
});
可以找到更多信息in the docs
还有一些known issues,所以我建议升级您的依赖项。