我需要通过xpath找到一个元素,但是xpath的某些部分总是会变化,因此我需要在测试过程中直接添加它。如果在我的Selenide元素中添加注释@Setter并尝试使用String设置新的xpath,我总是会收到一个错误,我只能传递Selenide元素。我该怎么做?
String test;
@Setter
@FindBy(xpath = "//div[contains(text(),"+test+"]")
private
SelenideElement orgCard;
在这里,我尝试将String传递给xpath:
public static void setXpath( String orgName){
OrganizationsPage.getInstance().setTest("//div[contains(text()," + orgName + "']");
}
您可以编写方法并将所需的参数传递给它:
public SelenideElement whatever(String orgCard) {
return $x("//div[contains(text()," + orgCard + "]");
}
但是我也建议看看一些例子,例如那里https://github.com/selenide-examples/google