Webdriver 给出 Timeout Exception 运行 Codeception 验收测试

Webdriver gives Timeout Exception running Codeception acceptance test

我在 Jenkins 中设置了很长的 Codeception 验收测试管道。 Safari 在开始测试时定期抛出 \ScriptTimeoutException(每 14 - 23 浏览器启动抛出此错误)。每次管道启动时,不会在同一测试中发生这种情况。

异常打印为:

[Facebook\Webdriver\Exception\ScriptTimeoutException]

Timed out awaiting response to command "maximizeWindow" after 30002 ms (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 30.01 seconds

目前,acceptance.suite.yml 中的 safari 环境变量如下所示:

safari:
     modules:
        config:
            WebDriver:
                browser: 'safari'
                window_size: 'maximize'
                clear_cookies: true
                restart: true
                options:
                    cleanSession: true

我试过设置精确的 window 大小并完全删除 window_size 选项。此错误的发生率似乎没有任何差异。

使用 Selenium 服务器 2.53.1。 Safari 版本 9.1.2。詹金斯版本 2.16

谁能减少这种情况发生的次数?

我也遇到了这个错误:

1) ListingRaceTestCest:测试事件 测试tests/acceptance/ListingRaceTestCest.php:登录

[Facebook\WebDriver\Exception\TimeOutException]

场景步骤:

  1. $I->waitForElementVisible(".rule-row-date",15)
  2. $I->点击("button#add-rule-btn")
  3. $I->看("Configure payment rules")
  4. $I->waitForElementVisible("#side-menu",15)
  5. $I->暂停执行()
  6. $I->点击("table#races-table tbody tr:first-child td:last-child button")

我现在找到了解决方案并且它对我有用,试试这个希望它对你有用!

ini_set('max_execution_time', 300); //300 秒 = 5 分钟

这是动态时间的设置,您可以相应地更改它。 Codeception 提供大约 5 分钟的执行时间设施,然后它会给出超时错误。 我遇到了这种情况,现在找到了解决方案。