pause() - waitUntil / waitForXXX行为

时间:2017-06-13 15:20:07

标签: javascript selenium mocha webdriver-io

问题

browser.pause()waitUntil(...)之间的不一致(AFAIK)行为,waitForExist方法

环境

  • WebdriverIO版本:4.6.2
  • Node.js版本:6.9.4
  • Standalone mode or wdio testrunner:testrunner
  • 如果wdio testrunner,运行同步或异步测试:sync
  • 使用的其他wdio包(如果适用):
    • " wdio-allure-reporter":" ^ 0.1.2",
    • " wdio-json-reporter":" ^ 0.2.1",
    • " wdio-mocha-framework":" ^ 0.5.8",
    • " wdio-selenium-standalone-service":" 0.0.8",
    • " wdio-spec-reporter":" 0.0.5"

详细

第一个片段:

browser.url(Navigation.BASE_URL + Navigation.PATH_URL)
browser.pause(waitFor * Navigation.MILLIS) // Recomended NOT use
bodyEl = $("html body");
/*
browser.waitUntil(function() {
    return $("div#navModule.navModule").state === 'success';
});
*/
// browser.waitForExist("div#navModule.navModule");
console.log('[Navigation::startup] style:' +
    JSON.stringify($("div#navModule.navModule").getCssProperty('display')));

打印[Navigation::startup] style:{"property":"display","value":"none","parsed":{"type":"ident","string":"none"}}确定

但是,如果我按照文档中的建议替换browser.pause(或browser.waitUntil)的waitForExist,就像:

browser.url(Navigation.BASE_URL + Navigation.PATH_URL)

// browser.pause(waitFor * Navigation.MILLIS) // Recomended NOT use
bodyEl = $("html body");
browser.waitUntil(function() {
    return $("div#navModule.navModule").state === 'success';
});
// browser.waitForExist("div#navModule.navModule");
console.log('[Navigation::startup] style:' +
    JSON.stringify($("div#navModule.navModule").getCssProperty('display')));

它打印[Navigation::startup] style:{"property":"display","value":"block","parsed":{"type":"ident","string":"block"}}错误,因为我知道此时元素的属性为style="display: none"

这是运行套件的第一步。

那么,我做错了什么?

感谢!!!

瓦特

0 个答案:

没有答案