【问题标题】:JMeter Web Driver Sampler org.openqa.selenium.InvalidElementStateExceptionJMeter Web Driver Sampler org.openqa.selenium.InvalidElementStateException
【发布时间】:2015-01-02 07:42:08
【问题描述】:

我刚刚使用 WebDriver Sampler 准备了负载测试。我正在使用 selenium-chrome-driver-2.39.0.jar、selenium-firefox-driver-2.39.0.jar、JMeter 2.11 和 FireFox 26.0。当我使用 Chrome Driver Config 时,没有错误。但是当我在 FireFox Driver Config 中使用相同的脚本时,我得到了一个错误。错误是:

响应消息:org.openqa.selenium.InvalidElementStateException: [Exception...“组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsINativeMouse.click]” nsresult:“0x80004005 (NS_ERROR_FAILURE)”位置:“JS 框架 ::

我要点击

<option value="12">12< /option>

var selectCCMonth = WDS.browser.findElement(lib.By.cssSelector('.ccMonth option:nth-of-type(13)'))
selectCCMonth.click() 

以上代码在 Chrome Driver Config 上运行,但在 FireFox Driver Config 上不运行。

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>

我该如何处理这个问题?

【问题讨论】:

    标签: firefox selenium-webdriver load jmeter jmeter-plugins


    【解决方案1】:

    查看&lt;select&gt; 标签我猜您正试图从下拉列表中选择一个值。在 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 指南。

    【讨论】:

      【解决方案2】:

      您可以尝试创建一个Select 对象然后使用selectByVisibleText 方法吗?

      (此方法在java中,请在您的相关文件中查看 首选语言。)

      希望这可能会有所帮助。

      你可以参考this链接。

      【讨论】:

      • 我试过 var ccMonth = WDS.browser.findElement(lib.By.id('ccMonth')) ccMonth.selectByVisibleText(['12']) 和 var ccMonth = WDS.browser.select( lib.By.id('ccMonth')) ccMonth.selectByVisibleText(['12']) 但它不起作用。我收到一个错误,因为“没有功能”selectByVisibleText”。
      • 我正在使用 Jmeter @Vivek 开发 WebDriver Sampler。
      【解决方案3】:

      我刚刚找到了解决方案。

      我将该代码添加到我的脚本中

      WDS.browser.executeScript('$(".ccMonth").val(12);')

      它成功了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-06
        • 1970-01-01
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多