当前位置: 首页 > 知识库问答 >
问题:

Primeface selectOneMenu with Selenium webDrive不选择项目Java

严令秋
2023-03-14

在硒测试期间,我需要在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上使用index(例如 /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> 
}

任何帮助都将不胜感激。

共有2个答案

冉永宁
2023-03-14

它现在正在工作。我没有对代码做任何更改。但我怀疑,当我试图运行测试时,我在不同的存储库之间切换并没有完全重建它们会导致问题。所以,感谢每一个看到并试图帮助我们的人。

夏侯旻
2023-03-14

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

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

伪代码我没测试过

 类似资料:
  • 我无法在微调器中选择项目。当我单击微调器中的项目时,Logcat显示警告 W/InputManagerService(60):窗口已聚焦,忽略:com的聚焦增益。Android内部的看法IIInputMethodClient$存根$Proxy@406f3d90 代码示例 你能帮助我吗?

  • 我正在尝试制作一个非常简单的微调器,至少如下所示: XML: 爪哇: 我可以看到整个列表,但是一旦我点击一个项目,什么都不会发生,它根本不会显示选择,即使我使用,并且如果我尝试做我得到一个。我试着在网上搜索了很多,但没有一个解决方案似乎对我有帮助...

  • 在WPF组合框中,当使用DisplayMemberPath时,如何使ItemsSource中的空实例可选? 我绑定到对象集合并向该集合添加了 null。我还已将选定项绑定到属性。选择非 null 的值时,我的 SelectedItem 属性会正确更改。但是当我从下拉列表中选择空项时,我的 SelectedItem 属性不会更改。 我已经将其与DisplayMemberPath的使用隔离开来,也就是

  • 我希望,如果我选择“mammals”,动物选择选项只显示值为1的选项data-animal_class。 我知道如何获得哺乳动物值,但我不知道如何使用过滤器 这是我的代码:

  • 我试图让用户从JSF中的下拉列表中选择一个集合项。这是我正在使用的代码: 这是MyBean的代码: 如果需要,我的getter和setter为用户: 我的问题是,当它打印“所选用户是”时,没有写入用户。toString(),但用户列表。toString()!就像SelectOne菜单一样,它的设置不正确,但我已经搜索了很多。有人能帮忙吗?谢谢,安

  • 问题内容: 我们正在使用Selenium WebDriver和JBehave在我们的Web应用程序上运行“集成”测试。我有一种方法,可以在表单输入中输入一个值。 但是,当我尝试使用它在下拉列表中选择一个项目时,它(毫无疑问)失败了 java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值 如何在组合中选择一个值? 问题答案: 这是怎么做的: