Selenium webdriver:如果条件是一长串对象
Selenium webdriver: if condition for a long list of objects
有什么方法可以简化下面的代码吗?
public static void InputData(){
//Lastname
if (driver.findElements(By.id("last_name")).size() != 0) {
driver.findElement(By.id("last_name")).sendKeys("MARSUPIAL");
}
//Fistname
if (driver.findElements(By.id("first_name")).size() != 0) {
driver.findElement(By.id("first_name")).sendKeys("MARK");
}
}
我有 20 个项目具有相同的 'if' 场景
不是对每个文本框执行 "if object exist write 'x'" 有没有办法在单个 if 语句中编写它?
提前致谢
一种可能是将钥匙放在 Map
中,然后
迭代 Map
进行验证:
final Map<String,String> lAllKeys = new HashMap<>();
lAllKeys.put("last_name","MARSUPIAL");
lAllKeys.put("first_name", "MARK");
for (String lKey : lAllKeys.keySet()) {
if (driver.findElements(By.id(lKey)).size() != 0) {
driver.findElement(By.id(lKey)).sendKeys(lAllKeys.get(lKey));
}
}
有什么方法可以简化下面的代码吗?
public static void InputData(){
//Lastname
if (driver.findElements(By.id("last_name")).size() != 0) {
driver.findElement(By.id("last_name")).sendKeys("MARSUPIAL");
}
//Fistname
if (driver.findElements(By.id("first_name")).size() != 0) {
driver.findElement(By.id("first_name")).sendKeys("MARK");
}
}
我有 20 个项目具有相同的 'if' 场景
不是对每个文本框执行 "if object exist write 'x'" 有没有办法在单个 if 语句中编写它?
提前致谢
一种可能是将钥匙放在 Map
中,然后
迭代 Map
进行验证:
final Map<String,String> lAllKeys = new HashMap<>();
lAllKeys.put("last_name","MARSUPIAL");
lAllKeys.put("first_name", "MARK");
for (String lKey : lAllKeys.keySet()) {
if (driver.findElements(By.id(lKey)).size() != 0) {
driver.findElement(By.id(lKey)).sendKeys(lAllKeys.get(lKey));
}
}