所以我想为我的方法传递两个东西,String - 这将是一个属性名称和By - 这将允许选择应该搜索什么标准元素.简单的例子:
public static WebElement getElement(By by) {
return driver.findElement(by);
}
Run Code Online (Sandbox Code Playgroud)
但这会迫使我这样使用它:
element = getElement(By.className(properties.getProperty("class")));
Run Code Online (Sandbox Code Playgroud)
虽然我想这样使用它:
element = getElement(By.className, "class");
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我认为像这样的简单代码可以工作,但遗憾的是它会返回错误
"by(String)未定义"
public static WebElement getElement(By by, String string) {
return driver.findElement(by(properties.getProperty(string));
}
Run Code Online (Sandbox Code Playgroud)
编辑:我决定使用:
public static String useProperty(String propertyName) {
return properties.getProperty(propertyName);
}
Run Code Online (Sandbox Code Playgroud)
不完全是我想要处理它,但它确实可以简化和提高代码的可读性.