0

我使用wedriverio 4.5工作:Webdriver.waitUntil并不如预期

./node_modules/.bin/wdio -v 
v4.5.2 

我需要等到一些元素存在,如果不存在处理这种情况。

例如:

let element = browser.element('.unexisting'); 
browser.waitUntil(
     function() { 
      return element.isExisting(); 
     }, 
     1000, 
     'Element is not found.' 
); 

但如果元素不存在于页面上,标志的webdriver我的测试为失败,并显示一条消息:“10000ms的超时超标。尽量减少运行时间或增加测试规格的超时时间(http://webdriver.io/guide/testrunner/timeouts.html);如果退回承诺,请确保解决。“

  1. 我该如何处理这种情况?

    • 我试过try-catch块,但无论如何,我看到有关超时和失败测试的相同消息。
    • 我试过element.waitForExist(),但行为是相同
    • 我试图用错误处理程序(但它并不能帮助)

    browser.on( '错误',函数(E) {'''''');( })

  2. 为什么我看不到我的消息'找不到元素'?

谢谢!

+0

不等待直接退货承诺?您是否尝试添加.catch((error)=> {此处处理错误}) – Metareven

回答