当我尝试在Selenium IDE中使用具有多个条件的if语句时,我遇到了问题。 其中一个条件似乎总是被忽略。
这是我的方案:
if | !selenium.isElementPresent("link=userA") && !selenium.isElementPresent("link=userB")
goto | SETUP_DONE
else
if | selenium.isElementPresent(""link=userA")
clickAndWait | link=userA
clickAndWait | name=deleteuser
clickAndWait | name=deleteuser
endIf
if | selenium.isElementPresent("link=userB")
clickAndWait | link=userB
clickAndWait | name=deleteuser
clickAndWait | name=deleteuser
endIf
label | SETUP_DONE
waitForElementNotPresent | link=userA
waitForElementNotPresent | link=userB
endIf
基本上,我的脚本应该检查是否存在两个用户。 如果两者都不存在,那么它会跳转到标签SETUP_DONE,在那里它将执行一些其他测试。 如果检测到任一用户,则单击正在检测的用户的链接,删除该用户,并重新验证这两个用户名都不存在。
但是,就像现在的代码一样,它只验证用户 A,完全忽略用户 B 的验证。 如果我将语句更改为...
if | !selenium.isElementPresent("link=userA" && "link=userB")
。然后,它会忽略第一个用户用户 A,并检查用户 B。 我尝试改用"&"和"and",但这些导致脚本失败。 有谁知道我的语法是如何错误的以及它应该是什么? 我是否必须为每个用户名创建一个单独的检查,而不是将检查合并到一行代码上? 提前谢谢。
到目前为止,我还没有找到一个解决方案,允许我在硒 IDE 的 IF 语句中包含多个参数。 但是,这是处理此问题的解决方案,直到可以使用多个参数:
if | !selenium.isElementPresent("link=userA")
goto | NEXT_AND_COND
else
goto | AND_COND_NOT_MET
endIf
label | NEXT_AND_COND
if | !selenium.isElementPresent("link=userB")
goto | SETUP_DONE
else
label | AND_COND_NOT_MET
if | selenium.isElementPresent(""link=userA")
clickAndWait | link=userA
clickAndWait | name=deleteuser
clickAndWait | name=deleteuser
endIf
if | selenium.isElementPresent("link=userB")
clickAndWait | link=userB
clickAndWait | name=deleteuser
clickAndWait | name=deleteuser
endIf
endIf
label | SETUP_DONE
waitForElementNotPresent | link=userA
waitForElementNotPresent | link=userB