【问题标题】:How to keep selenium step to be keep waiting for 1 hour?如何保持硒步保持等待1小时?
【发布时间】:2019-04-11 16:43:08
【问题描述】:

选择页面上的按钮会生成新窗口。 新窗口会持续加载 1 小时,因为它将从数据库生成文件到本地。我如何让硒等到 1 小时? 我正在尝试使这种情况自动化。 后台生成db文件后,新窗口会有打印语句。

【问题讨论】:

  • 嗨!你能发布你尝试过的任何代码,或者你做了什么研究吗?
  • 请不要编写等待一小时的测试。有太多可能出错的地方,导致这个测试不稳定,因此不可靠。此外,这会显着减慢您的测试套件,因此无法及时提供反馈。考虑将您的测试拆分为可以测试的单独的较小部分。您可能需要以不同的方式设置您的先决条件。

标签: java selenium automation cucumber testng


【解决方案1】:

请使用WebDriverWait,如下:

WebDriverWait wait = new WebDriverWait(WebDriver, timeoutInSeconds);

【讨论】:

    【解决方案2】:

    使用关注等待 1 小时。

    int hourInSecond = 3600;
    WebDriverWait wait = new WebDriverWait(WebDriver, hourInSecond);
    wait.until(ExpectedConditions.elementToBeClickable(locator));
    

    1 小时 = 3600 秒;

    【讨论】:

      【解决方案3】:

      我们都应该假设文件生成可能需要更多或更少的时间。

      所以你可能需要更灵活的东西,比如:

      WebDriverWait wait = new WebDriverWait(webdriver, waitForElementTimeout).until(ExpectedConditions.attributeToBe(webelement, "text", expected));
      

      此代码将等到将要打印的 Statement 变量获得正确的值。

      【讨论】:

        猜你喜欢
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 2020-12-16
        • 1970-01-01
        • 2020-12-01
        • 1970-01-01
        • 2017-06-11
        相关资源
        最近更新 更多