1

我在使用 @FindBy 注释从按钮列表中找到一个单选按钮时遇到问题。

我有一个带有 Mr Ms .. Dr 的标题选项 web 元素作为单选按钮,因为它们位于同一个 div 中,然后除了结束索引器之外它们具有几乎相同的 xpath 或 id,我不想有 6 个 @FindBy对于标题的每个相应选项

我正在寻找的解决方案是当我使用带有步骤的黄瓜功能文件时

给定我“先生”给定我“女士”

它将转到页面对象和@FindBy(............) WebElement 标题......

title.click //注解会点击对应的标题

4

1 回答 1

1

如果你想创建一个动态的@FindBy,那么这是不可能的,你可以有动态的 By 定位器,或者在那个 By 定位器中的一个 String 元素,但是你提供给 FindBy 注释的内容必须是不可变的。因此,如果您使用 FindBy,您应该确切地知道您在寻找什么

如果没有页面源代码示例,很难判断如何访问单选按钮本身,但是使用 xpath 可以轻松实现,因为您的单选按钮很可能已经设置了名称甚至 id,作为最后的手段,您可以搜索元素内的文本。例如:

"//input[@id='btnId']"   (in case of present id I would suggest using css selector "input#btnId")
"//label[contains(text(), 'Mr')]/input" 
于 2015-06-11T12:48:17.540 回答