Selenium 退一步等待
我有这个硒测试(它的一部分)Selenium 退一步等待,selenium,selenium-ide,Selenium,Selenium Ide,我有这个硒测试(它的一部分) 打开 本地主机:8091 单击并等待 链接=静止对象 单击并等待 xpath=(//a[contains(text(),'Show')])[3] 资产文本 xpath=(//div[not(div)][1]) 身份证号码:2 戈巴克 单击并等待 xpath=(//a[contains(text(),'Show')])[5] 戈巴克 . 我在Firefox中使用Selenium IDE。当我慢慢地运行它(切换速度),它工作得很好。但是,当我尝试更快地运行它时,在g
打开
本地主机:8091
单击并等待
链接=静止对象
单击并等待
xpath=(//a[contains(text(),'Show')])[3]
资产文本
xpath=(//div[not(div)][1])
身份证号码:2
戈巴克
单击并等待
xpath=(//a[contains(text(),'Show')])[5]
戈巴克
.
我在Firefox中使用Selenium IDE。当我慢慢地运行它(切换速度),它工作得很好。但是,当我尝试更快地运行它时,在goBack
之后的步骤clickAndWait
中会出现错误。日志上说
元素xpath=(//a[contains(text(),'Show')])[5]未找到
我的问题是,在我执行其他操作之前,如何返回并等待页面加载。您必须使用
waitForPageToLoad
命令,然后单击元素直到页面加载,然后执行其他操作
使用下面的代码
<tr>
<td>click</td>
<td>xpath=(//a[contains(text(),'Show')])[5]</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>10000</td>
<td></td>
</tr>
点击
xpath=(//a[contains(text(),'Show')])[5]
waitForPageToLoad
10000
谢谢(@Trimantra软件解决方案)
waitForPageToLoad
这是我需要的。
从文件:
waitForPageToLoad(timeout)
Arguments:
timeout - a timeout in milliseconds, after which this command will return with an error
Waits for a new page to load.
这是我的解决方案,我在goBack
之后使用了waitForPageToLoad
<tbody>
<tr>
<td>open</td>
<td></td>
<td>localhost:8091</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Rest objects</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>xpath=(//a[contains(text(),'Show')])[3]</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>xpath=(//div[not(div)][1])</td>
<td>ID: 2</td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>800</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>xpath=(//a[contains(text(),'Show')])[5]</td>
<td></td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
</tbody>
打开
本地主机:8091
单击并等待
链接=静止对象
单击并等待
xpath=(//a[contains(text(),'Show')])[3]
资产文本
xpath=(//div[not(div)][1])
身份证号码:2
戈巴克
waitForPageToLoad
800
单击并等待
xpath=(//a[contains(text(),'Show')])[5]
戈巴克
我看到了该命令的一个goBackAndWait()变体。那可能对你有用
通常我建议使用waitFor来确保页面返回到您想要的位置。如果可能的话,最简单的方法就是等待。
waitForElementPresent和waitForText也是不错的选择。在
点击之后,或者可能在goBack之后?无论何时使用waitForPageToLoad
,它都会在给定的时间范围内等待完全的页面加载。因此,在您的情况下,一旦您使用goBack
命令执行反向导航,然后使用waitForPageToLoad
,它将首先执行反向导航并等待页面加载,然后移动到您编写的下一个操作
<tbody>
<tr>
<td>open</td>
<td></td>
<td>localhost:8091</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Rest objects</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>xpath=(//a[contains(text(),'Show')])[3]</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>xpath=(//div[not(div)][1])</td>
<td>ID: 2</td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td>800</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>xpath=(//a[contains(text(),'Show')])[5]</td>
<td></td>
</tr>
<tr>
<td>goBack</td>
<td></td>
<td></td>
</tr>
</tbody>