是否有其他方法可以处理多个if,如果其他则基于使用硒的元素存在

问题描述

我从事自动化e2e自动化案例的研究。为了提高可重用性,我们在函数内部使用了许多if条件,最终导致脚本性能下降。有人可以建议我在不影响性能的情况下解决这种情况的另一种方法。

例如,

  public void Addvechicle()
    {
      If (iselementprsent(element 1)
       {
        // Do some action    1 

          If (iselementpresent(element 2) 
            {
              //Do some action2
            }

          If(iselementpresent (element 3 ) 
                  {
              // Do some action3
           }
    }
     else {
         If (iselementpresent (element10) 
          {
           // Do some action4
          }
         If else (iselementpresent 
           (element 11){
           // Do some action5
         }
        }
    }
}

解决方法

您可以使用while循环和迭代器:

首先,定义一个列表,其中包含您知道它们可能存在的元素(这是一个虚拟的示例,如果它们具有共同的定位符,则也可以使用getWebElements来创建它们)

ArrayList<WebElement> elements= new ArrayList<WebElement>();
elements.add(vech1);
elements.add(vech2);
...
....

然后,使用这种方法:

Iterator<Integer> it = elements.iterator();
while(it.hasNext()) {
  //perform desired logic 
  }

通过这种方式,您不需要添加太多条件,它应该更快。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...