当我尝试在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,在那里它将执行一些其他测试。如果检测到任一用户,则会点击用户检测到的链接,删除用户(' s),并重新验证两个用户名都不存在。
但是,正如代码现在一样,它只验证 userA ,并且完全忽略 userB 的验证。如果我将声明改为......
if | !selenium.isElementPresent("link=userA" && "link=userB")
...然后忽略第一个用户 userA ,并检查 userB 。我尝试使用"&"和"和"相反,但那些导致脚本失败。有谁知道我的语法是错误的,它应该是什么?我是否必须为每个用户名创建单独的检查,而不是在一行代码上组合检查?提前谢谢。
答案 0 :(得分:1)
到目前为止,我从未找到过允许我在selenium 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