browser.selectByValue似乎单击选项下方的元素

时间:2017-03-28 08:35:28

标签: selenium webdriver-io

我正在使用webdriverio进行质量检查测试,需要更改<select>的选定值。我可以在文本框中输入文本并单击按钮等,但是,当我无法使用browser.selectByValue()更改页面上select的选定选项时。

似乎发生的事情是点击选项出现的位置下面的元素(证据是下面的元素是超链接,导航发生在select所选选项应该已更改的位置。

我正在使用Selenium Standalone服务器3.3.1和geckodriver 1.5.0,webdriverio 4.6.2和wdio-mocha-framework 0.5.9在Linux Mint上测试Firefox 45。

已修改为包含HTML

我已经更改了值/文本,但是这是我正在测试的确切HTML。

<select id="ember1268" tabindex="0" class="ember-view blue-background x-select">
    <option id="ember1278" value="option1" class="ember-view x-option">Option 1</option>
    <option id="ember1280" value="option2" class="ember-view x-option">Option 2</option>
    <option id="ember1282" value="option3" class="ember-view x-option">Option 3</option>
    <option id="ember1284" value="option4" class="ember-view x-option">Option 4</option>
</select>

进一步修改

我刚刚在Windows上对Firefox 52进行了测试,它可以正常工作。我有一个理论认为它在Linux中失败的原因是它在VM中运行并且运行速度很慢。可能是测试试图在实际出现之前点击该选项吗?如果是这样,有没有办法添加延迟以允许选项出现?

编辑以包含JS代码段

这是我用来更改选择的代码。

var clientSelect = browser.element('select');
clientSelect.selectByValue('option1');

0 个答案:

没有答案