我遇到使用@FindBy注释从按钮列表中找到一个单选按钮的问题。
我有一个标题选项web元素与Mr Ms .. Dr作为单选按钮,因为它们位于相同的div中,然后它们具有与结束索引器几乎相同的xpath或id, 我不希望每个相应的标题选项都有6个@FindBy
我正在寻找的解决方案是当我使用带有步骤的黄瓜功能文件时
鉴于Im' Mr' 鉴于Im' Ms'
它将转到页面对象和@FindBy(............)WebElement标题 .....
title.click //注释将点击相应的标题
答案 0 :(得分:1)
如果你想创建一个动态的@FindBy然后它是不可能的,你可以在By Byator中使用动态By定位器或String元素,但是你提供给FindBy注释的内容必须是不可变的。因此,如果您使用FindBy
,您应该知道您正在寻找什么如果没有页面源代码示例如何获取单选按钮本身很难说,但使用xpath可以轻松实现,因为很可能你的单选按钮设置了他们的名字甚至ID,作为最后的手段你可以在元素中搜索文本。 e.g:
"//input[@id='btnId']" (in case of present id I would suggest using css selector "input#btnId")
"//label[contains(text(), 'Mr')]/input"