小编LVN*_*LVN的帖子

如何在Selenium测试方法中传递"By"和String?

所以我想为我的方法传递两个东西,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)

不完全是我想要处理它,但它确实可以简化和提高代码的可读性.

java selenium selenium-webdriver

0
推荐指数
1
解决办法
429
查看次数

标签 统计

java ×1

selenium ×1

selenium-webdriver ×1