。click函数在步骤中通过,但实际上未单击浏览器中的元素

问题描述 投票:0回答:1

我目前正在尝试编写一些自动化测试的脚本。

我已经用一个简单的复选框单击击中一个方块...

问题是测试运行通过了步骤,但是在浏览器中并未真正发生“点击”。

POM

    optionClick(optionValue){
        const option = $('//input[@type="checkbox"]').$('..').$('label').$('//span[contains(text(), "'+optionValue+'")]');
        option.waitForDisplayed(2000);
        const optionSelect = $('//input[@type="checkbox"]').$('..').$('label').$('//span[contains(text(), "'+optionValue+'")]');
        optionSelect.click();
    }

功能-我选择“创建”选项

我尝试单击的html元素如下:enter image description here

cucumberjs wdio-v5
1个回答
0
投票
click函数是异步的。如果您不等待或不将click调用包装在promise中,则操作将同步进行,这意味着您的测试将继续进行,并且可能会在实际单击之前完成。

您需要做的是:

await optionSelect.click();

© www.soinside.com 2019 - 2024. All rights reserved.