我刚刚使用WebDriver Sampler准备了负载测试。我使用的是selenium-chrome-driver-2.39.0.jar,selenium-firefox-driver-2.39.0.jar,JMeter 2.11和FireFox 26.0。当我使用Chrome驱动程序配置时,没有错误。但是,当我使用与FireFox驱动程序配置相同的脚本时,我收到错误。错误是:
响应消息:org.openqa.selenium.InvalidElementStateException:[Exception ..." Component返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsINativeMouse.click]" nsresult:" 0x80004005(NS_ERROR_FAILURE)" location:" JS frame ::
我想点击
<option value="12">12< /option>
带
var selectCCMonth = WDS.browser.findElement(lib.By.cssSelector('.ccMonth option:nth-of-type(13)'))
selectCCMonth.click()
以上代码适用于Chrome驱动程序配置,但不适用于FireFox驱动程序配置。
html是:
<select class="clsSelect pie ccMonth required normalSelect valid" name="ExpirationDateMonth" id="ccMonth" title="Zorunlu" style="border: 1px solid rgb(214, 214, 214);">
<option value="">Ay</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
我该如何处理这个问题?
答案 0 :(得分:1)
查看<select>
代码我猜您正在尝试从下拉列表中选择一个值。在Selenium世界,它需要有所不同。一般来看Select课程,特别是selectByVisibleText方法。
示例代码如下:
var element = WDS.browser.findElement(lib.By.cssSelector('.ccMonth option:nth-of-type(13)'))
var select = new org.openqa.selenium.support.ui.Select(element)
select.selectByVisibleText('12')
有关更多WebDriver采样器提示以及有关最常见问题的某些常见问题解答,请查看The WebDriver Sampler: Your Top 10 Questions Answered指南。
答案 1 :(得分:0)
您可以尝试创建Select
对象,然后使用selectByVisibleText
方法吗?
(此方法在java中,请在您的相关内容中查看相关内容 首选语言。)
希望这可能有所帮助。
如果出现问题,您可以参考this链接。
答案 2 :(得分:0)
我刚刚找到了解决方案。
我将该代码添加到我的脚本中
WDS.browser.executeScript(&#39; $(&#34; .ccMonth&#34;)VAL(12);&#39)
并且有效。