我的目标是在webdriver.io中创建一个名为waitForImage的自定义命令,但是当我将代码移动到addCommand()时,我的测试开始抛出错误。我们的想法是等待加载图像,而不仅仅是可见。
这可以按预期工作:
browser.waitUntil(() => {
return browser.element('img:nth-child(1)').getAttribute('naturalWidth') > 0;
});
browser.waitUntil(() => {
return browser.element('img:nth-child(2)').getAttribute('naturalWidth') > 0;
});
browser.waitUntil(() => {
return browser.element('img:nth-child(3)').getAttribute('naturalWidth') > 0;
});
但是,当我将其移动到自定义命令时,测试开始抛出错误:
//top of file
browser.addCommand('waitForImage', (selector) => {
browser.waitUntil(() => {
return browser.element(selector).getAttribute('naturalWidth') > 0;
});
});
//describe, it
browser.waitForImage('img:nth-child(1)');
browser.waitForImage('img:nth-child(2)');
browser.waitForImage('img:nth-child(3)');