describe("Purge all", function() {
it('Purge all', () => {
CachePurgePage.open(PARTNER_ID, ACCOUNT_ID, CONFIGURATION_ID);
const label = $('[class = "css-1av0y7f-SidebarLinkTitle ezsph7p1"]');
browser.waitUntil(function(){
return label.isClickable()
}, 6000, "Element is not clickable");
label.click();
browser.waitUntil(function(){
return $$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].isDisplayed();
}, 6000, "Element is not displayed")
$$('[class ="css-1rqefwa-LabelOutput e9gmw1r4"]')[1].click();
browser.waitUntil(function(){
return $$('[class *= "Row-StyledTableRow"]')[1].isDisplayed();
}, 6000, "Element is not clickable")
const firstTR = CachePurgePage.tableTasksInfo[0];
const internalTDs = firstTR.$$('[class = "css-zr137n-Cell eveacmn0"]');
expect(internalTDs[1]).toHaveText('2');
大家好!我的第一次 WDIO 测试,不难理解我是新手。所以我遇到了一个有趣的问题。当我使用 browser.pause() 时测试工作正常,但如果我只尝试实现 $element.waitForClickable().click() 一切都会出错。测试不会等待条件并尝试找到一个元素然后单击它。当然,他没有找到任何东西,因为尚未下载所需的页面,只需单击“取消定义”元素,导致测试以错误结束。所以我尝试了 browser.waitUntil() 并且发生了一些意想不到的步骤。首先浏览器搜索“label = $('[class = "css-1av0y7f-SidebarLinkTitle ezsph7p1"]')”然后点击它。终端输出显示一切正常。然后开始搜索“$$('[class =" css-1rqefwa-LabelOutput e9gmw1r4"]')[1]" 并且找不到它导致 IRL 上一个元素上的 click() 没有发生。我不明白为什么它会这样工作。我有 94 chromedriver、7.14 wdio 和 14 node.js,并在 85 chromedriver、6.7 wdio 和 12 node.js 上尝试过,没有任何区别