我已使用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&$$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
行。它找不到登录字段,因为我已经进入了。
我的问题是:如果我已经陷入困境,如何判断它应该忽略这一步?
答案 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&$$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>