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>