Selenium IDE“if”语句具有多个条件

时间:2014-12-04 19:03:34

标签: if-statement selenium selenium-ide

当我尝试在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 。我尝试使用"&"和"和"相反,但那些导致脚本失败。有谁知道我的语法是错误的,它应该是什么?我是否必须为每个用户名创建单独的检查,而不是在一行代码上组合检查?提前谢谢。

1 个答案:

答案 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