【问题标题】:Primefaces selectOneMenu with Selenium webdriver does not select the item + JavaPrimefaces selectOneMenu with Selenium webdriver不选择项目+ Java
【发布时间】:2014-08-18 00:42:19
【问题描述】:

我需要在硒测试期间在 p:selectOneMenu 上设置值,但设置值时遇到问题。 这是我用来执行此操作的代码:

{
driver.findElement(By.id("myForm:meSelection_label")).click();
driver.findElement(By.xpath("//div[@id='myForm:meSelection_panel']/div[2]/ul/li[text() = 'mytext']")).click();
}

问题是它没有选择我的选择,我什至尝试在 li 上使用索引(例如 /li[2]),它是第二项。 当我运行测试时,它显示下拉列表,我可以在其中看到我的元素,但它只是不选择元素。是的,我确实为这个对象打开了转换器。 我还尝试了 Selenium IDE 并将我的 xpath 放在那里,与上面完全相同,它工作得非常好,但在我的 java 测试用例中,它根本没有选择元素。

我搜索了网络和论坛,但找不到任何解决方案。似乎有些人对此有疑问,但没有针对这些问题发布答案。

这是我的 pom.xml 和测试依赖项:

{

<dependency>
        <groupId>org.seleniumhq.selenium.client-drivers</groupId>
        <artifactId>selenium-java-client-driver</artifactId>
        <version>1.0.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.40.0</version>
    </dependency> 
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.40.0</version>
    </dependency> 
}

任何帮助将不胜感激。

【问题讨论】:

  • 您遇到了什么错误?请发布您的例外情况,您的 HTML sn-p

标签: java firefox testing selenium primefaces


【解决方案1】:

对于选择列表,您需要创建 selenium 选择对象。

WebElement we = find         element(by.cssSelector("whatever the select is"))
Select s = new Select(we);
s.selectByValue("value to select")

伪代码我没测试过

【讨论】:

  • 选择不适用于 p:selectOneMenu。我就像你之前说的那样,但由于规格变化,我们将其更改为 Primefaces p:selectOne 并且需要像我在问题中提到的那样完成。
【解决方案2】:

它现在正在工作。我没有对我的代码做任何更改。但是我怀疑我在不同的存储库之间切换而不是完全重建它们在我尝试运行我的测试时引起了问题。因此,感谢所有寻找并尝试提供帮助的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-29
    • 2015-03-04
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2015-09-03
    相关资源
    最近更新 更多