seleniumopen命令有时不起作用

seleniumopen命令有时不起作用,selenium,Selenium,有时候,我的selenium测试会超时,这些建议没有解决我的问题。它通常发生在测试开始时,我使用open或openAndWait。奇怪的是,页面实际上被打开了,但测试只是停止,不执行fruther。我使用beta-2版本和多窗口true。我用自定义命令调用浏览器。我愿意接受任何建议 thx kuku您是否尝试过在openAndWait之后放置固定暂停(几秒钟)?根据我的经验,selenium中的所有“打开”和“单击”(即使是*和等待)都不能保证在处理下一个selenium命令之前,页面已完全加载

有时候,我的selenium测试会超时,这些建议没有解决我的问题。它通常发生在测试开始时,我使用open或openAndWait。奇怪的是,页面实际上被打开了,但测试只是停止,不执行fruther。我使用beta-2版本和多窗口true。我用自定义命令调用浏览器。我愿意接受任何建议

thx


kuku

您是否尝试过在openAndWait之后放置固定暂停(几秒钟)?根据我的经验,selenium中的所有“打开”和“单击”(即使是*和等待)都不能保证在处理下一个selenium命令之前,页面已完全加载到浏览器中。这就是为什么我总是在这些命令后加上一个小停顿


即使您看到页面在浏览器中呈现,这也不一定意味着此时Selenium的命令处理器可以使用所有内容。

这在IE6、IE7、IE8、FF、Chrome中适用:

<tr>
  <td>waitForCondition</td>
  <td>
    (selenium.browserbot.getCurrentWindow().$$("body").length == 1) ? true : false;
  </td>
  <td>10000</td>
</tr>

等待条件
(selenium.browserbot.getCurrentWindow().$$(“正文”)。长度==1)?真:假;
10000
它只是轮询目标窗口并检查body元素。然而,它仍然容易受到超时的影响,但是您可以将其设置为任何您喜欢的值


注意:上面的代码使用Prototype JS获取body元素。这不是必需的,但如果您使用的是另一个JS库,则需要进行一些修改。

我遇到了类似的问题,我的问题无论如何都会超时。
我看到页面已完全呈现,但出于某种原因,
selenium.open(relative\u url)
将超时

我试着将超时设置为120秒,但仍然是相同的问题。将速度设置为非常慢也没有帮助

我通过使用try/catch处理异常来修复它,如果页面真的呈现或没有呈现,我基本上会继续进行验证(就像一个符咒),因此我的代码如下所示:

try {
    selenium.open(relative_url);
} catch (Exception e) {
    // check if page rendered completely here
}
// continue

我加了一个暂停,但有时还是失败了。我使用deleteAllCookies作为第一个命令,在打开之后,它在打开时停止。我接下来尝试的是删除deleteAllCookies命令+保留您的建议似乎使我的测试更加稳定。谢谢。您还可以尝试设置Selenium speed(硒速度)设置,以降低Selenium的整体速度。试着这样做,直到你的测试变得稳定。是的,我也试过了。有时候真的很令人沮丧,它工作了6-7次,然后失败了:(但是暂停命令使它运行更稳定。另外: