Selenium webdriver:如果条件为一长列对象

时间:2015-08-24 10:28:31

标签: java selenium if-statement automation webdriver

有没有办法可以简化下面的代码?

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'场景

而不是“如果对象存在写入'x'”每个文本框有没有办法在单个if语句中写入它?

提前致谢

1 个答案:

答案 0 :(得分:0)

一种可能性是将密钥放在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));
  } 
}