【问题标题】:Selenium IDE - Command to wait for 5 secondsSelenium IDE - 等待 5 秒的命令
【发布时间】:2011-07-14 14:36:51
【问题描述】:

我正在使用用于 Firefox 的 Selenium IDE 并搜索等待命令。 我的问题是我想测试一个嵌入了外部地图的网站。 此外部地图需要 3-5 秒才能加载。

我的命令:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something

【问题讨论】:

    标签: selenium selenium-ide


    【解决方案1】:

    使用pause 命令并在目标字段中输入毫秒数。

    将速度设置为最快(Actions --> Fastest),否则将不起作用。

    【讨论】:

    • 谢谢!我插入了命令,但 Selenium 没有暂停。命令 = 暂停,值 = 10000
    • 使用Target 而不是Value。命令 = 暂停,目标 = 1000。
    • @Khairul 很高兴您添加了该评论,这让我很生气,为什么 pause() 不起作用!
    • 速度与暂停命令无关,正如@Khairul 所说:把它放在目标中。
    • 当您在运行测试套件时在测试用例结束时暂停时,它将无法工作
    【解决方案2】:

    这会延迟 5 秒:

    命令:暂停
    目标:5000
    价值:

    这会延迟 3 秒:

    命令:暂停
    目标:3000
    价值:

    文档:

    http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

    【讨论】:

    • 所以,设置 5000 5 秒
    • 这太疯狂了,他们会让目标值在毫秒内等待。爱它。感谢您发布此内容,因为我什至没有尝试在目标中输入值。
    【解决方案3】:

    对于那些使用ant 的人,我用它来表示暂停 5 秒:

    <tr>
        <td>pause</td>
        <td>5000</td>
        <td></td>
    </tr>
    

    target: 5000value 为空。如参考所示:

    暂停(等待时间)

    参数:

    • waitTime - 睡眠时间(以毫秒为单位)

    等待指定的时间(以毫秒为单位)

    【讨论】:

      【解决方案4】:

      您最好的选择可能是 waitForCondition 并编写一个在加载地图时返回 true 的 javascript 函数。

      【讨论】:

      • 感谢您的评论!但是现在有 OOTB 方式来等待 x 秒吗?
      • 不,没有直接的方法可以等待 x 秒。请参阅complete list of supported commands
      • 暂停 x000 秒将等待 x 秒
      【解决方案5】:

      这将满足您在 C# (WebDriver/Selenium 2.0) 中寻找的功能

      var browser = new FirefoxDriver();
      var overallTimeout = Timespan.FromSeconds(10);
      var sleepCycle = TimeSpan.FromMiliseconds(50);
      var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
      var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);
      

      并且从不使用 Thread.Sleep,因为它会使您的测试不可靠

      【讨论】:

      • Selenium 2 中更好的选择。
      【解决方案6】:

      可以在html格式的ide中直接使用pause命令。

      如果使用 java 或 C,您可以使用 Thread.sleep(5000)。时间以毫秒为单位。其他语言支持“sleep 5”或 time.sleep(5)。您有多种选择,只需等待设定的时间。

      【讨论】:

      • Thread.Sleep 从来都不是一个好主意,这就是 Selenium 提供等待原语的原因。如果您使用它们,您可以指定更高的超时值,这使得测试更可靠而不会减慢它们的速度,因为可以根据需要经常评估条件,例如。每 50 毫秒。
      • 我在thread.sleep中的回复仅与回答如何让它在ide中等待的问题有关。当您在 ide 中从 html 转换为 java 或 c 时,pause 会被转换为 thread.sleep。
      【解决方案7】:

      在命令 clickAndWait 之前添加以下代码,以便脚本等到特定链接可见:

         <tr>
              <td>waitForVisible</td>
              <td>link=do something</td>
              <td></td>
          </tr>
      

      使用等待命令而不是暂停的做法在大多数情况下更有效、更稳定。

      【讨论】:

        【解决方案8】:

        这将等到您的链接出现,然后您可以点击它。

        Command: waitForElementPresent Target: link=do something Value:

        【讨论】:

          【解决方案9】:

          我发现适用于我测试的网站的一个是这个:

          等待条件 | selenium.browserbot.getUserWindow().$.active==0 | 20000

          克伦达图

          【讨论】:

            【解决方案10】:

            在 Chrome 中,对于“Selenium IDE”,我也在努力让它不会暂停。如果您按以下方式给出,它将暂停:

            • 命令:暂停
            • 目标:空白
            • 价值:10000

            这将暂停 10 秒。

            【讨论】:

            • 目标应该是10000,值应该是空白
            • 不确定您正在尝试哪个浏览器的插件,但在 Chrome 中对我来说效果很好。还取决于您使用的扩展程序。
            猜你喜欢
            • 2017-05-30
            • 2018-01-02
            • 2018-01-25
            • 2016-05-05
            • 2017-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多