使用最新版本的webdriver.io(3.1)
我遇到了一个奇怪的问题,即waitForVisible方法立即超时,而不是在我设置的5000ms超时之后。它并不总是发生,如果我在方法之前添加500毫秒暂停,它似乎解决了问题。我有一种感觉,在点击后新页面开始加载之前调用了waitForVisible方法,并且我打赌如果页面被更改,则会导致方法失败,并且由于某种原因导致失败被报告为超时?
如果发生了这种情况,除了添加暂停之外还有什么方法吗?我真的不喜欢停顿,因为它们似乎使测试变得脆弱。
test('clicking logout link logs user out and routes to login view', function(){
return client.click('#header [data-action="app:logout"]')
.pause(1000) //This pause fixes the issue
//This method instantly times out
.waitForVisible('#login', 10000).then(function(result){
expect(result, 'Did not log out');
});
});