问题描述
我从事自动化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
}
通过这种方式,您不需要添加太多条件,它应该更快。