我正在尝试在 Java 中使用Page Object模式,但在使用@FindBy/XPath时遇到了一些问题。
早些时候,我在 Groovy 中使用了以下构造:
driver.findElement(By.xpath("//td[contains(text(),'$SystemName')]")).click()
Here, SystemName is a parameter that can be different.
现在,我想做同样的事情,但要按照 Java 中的页面对象范式:
public class ManagedSystems {
private WebDriver driver;
@FindBy(id="menu_NewSystem")
private WebElement menuNewSystem;
@FindBy (xpath = "//td[contains(text(),'$SystemName')]") // ??? How to use SystemName from deleteSystem method (below)?
private WebElement plantSystemName;
....
public SystemHomePage deleteSystem (String systemName) {
plantSystemName.click();
}
}
在我的测试中,我调用了 deleteSystem:
SystemHomePage.deleteSystem("Firestone");
问题:如何将@FindBy 表示法链接到为 deleteSystem 指定的 PlantSystemName和SystemName?
谢谢,浣熊