Xpath Serenity BDD-如何实现自定义FindBy?

Xpath Serenity BDD-如何实现自定义FindBy?,xpath,dojo,serenity-bdd,Xpath,Dojo,Serenity Bdd,我正在实施Serenity BDD,以构建产品的自动化套件。我希望能够通过XPath找到将在运行时进行计算的元素 例如,我想要的是: @FindBy(label="First Name") private WebElementFacade firstNameTextBox; 通过标签“First Name”查找元素与通过xpath查找元素相同 ".//div[(contains(@class,'mdr_label mdr_caption') or contains(@class,'fieldI

我正在实施Serenity BDD,以构建产品的自动化套件。我希望能够通过XPath找到将在运行时进行计算的元素

例如,我想要的是:

@FindBy(label="First Name")
private WebElementFacade firstNameTextBox;
通过标签“First Name”查找元素与通过xpath查找元素相同

".//div[(contains(@class,'mdr_label mdr_caption') or contains(@class,'fieldItemLabel')) and contains(.,'First Name')]/following-sibling::div//input"
我不想在每个声明中都重复这么长的xpath。我使用Dojo框架,因此除了XPath之外,我没有其他定位器来获取这些元素


那么,如何添加由类型查找的自定义

似乎一个解决方案是扩展大部分
net.serentiybdd.core.annotations
类/接口/枚举,并将xpath表达式与您提供的任何参数连接起来。你试过这个吗?你问题的答案就在这里: