如果在Selenium中怎么办?

时间:2014-09-29 07:09:30

标签: selenium selenium-ide

我已使用FireFox Plugin Selenium IDE将登录记录到某个页面中。记录的结果如下:

..
....
</thead><tbody>
<tr>
    <td>open</td>
    <td>/libs/cq/core/content/welcome.html</td>
    <td></td>
</tr>
<tr>
    <td>open</td>
    <td>/libs/cq/core/content/login.html?resource=%2Fcontent%2Fvrbp%2Fde%2Fpage%2home.html&amp;$$login$$=%24%24login%24%24</td>
    <td></td>
</tr>
<tr>
    <td>storeElementPresent</td>
    <td>id=input-submit</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=input-submit</td>
    <td></td>
</tr>
<tr>
    <td>assertElementPresent</td>
    <td>id=searchbox__form-text</td>
    <td></td>
</tr>
...
.....

我保存了这个测试用例并使用Selenium IDE启动了它。它工作正常。它打开欢迎页面,然后打开登录页面,然后登录。

如果我已经在页面中显示,那么问题就出现了。测试过程挂起在ClickAndWait行。它找不到登录字段,因为我已经进入了。

我的问题是:如果我已经陷入困境,如何判断它应该忽略这一步?

2 个答案:

答案 0 :(得分:0)

您可以从登录页面查看任何独特元素吗?例如,密码和用户名字段。如果它们可见,请登录,如果不可见,则表示您已登录。

希望它有所帮助。

答案 1 :(得分:0)

首先,您必须为selenium ide下载插件流控制。(https://addons.mozilla.org/en-US/firefox/addon/flow-control/) 然后,您必须向代码添加一些命令以检查按钮登录是否存在。所以最终的代码应该是这样的:

</thead><tbody>
<tr>
    <td>open</td>
    <td>/libs/cq/core/content/welcome.html</td>
    <td></td>
</tr>
<tr>
    <td>open</td>
    <td>/libs/cq/core/content/login.html?resource=%2Fcontent%2Fvrbp%2Fde%2Fpage%2home.html&amp;$$login$$=%24%24login%24%24</td>
    <td></td>
</tr>
<tr>
    <td>storeElementPresent</td>
    <td>id=input-submit</td>
    <td>present</td>
</tr>
<tr>
    <td>gotoIf</td>
    <td>present!=true</td>
    <td>label1</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=input-submit</td>
    <td></td>
</tr>
<tr>
    <td>label</td>
    <td>label1</td>
</tr>
<tr>
    <td>assertElementPresent</td>
    <td>id=searchbox__form-text</td>
    <td></td>
</tr>