selenium - 如果 Selenium 服务器未运行,如何跳过 PHPUnit 中的测试?

标签 selenium phpunit

我想添加一套 Selenium 测试作为应用程序的全局 PHPUnit 测试套件的一部分。我已将 Selenium 测试套件连接到全局 AllTests.php文件,并且在 Selenium 服务器运行时一切正常。

但是,如果 Selenium 服务器没有运行,我希望脚本跳过 Selnium 测试,这样其他开发人员就不会被迫安装 Selenium 服务器来运行测试。我通常会尝试在 setUp 内连接每个测试用例的方法,如果失败,则将测试标记为已跳过,但这似乎抛出了一个带有消息的 RuntimeException:

The response from the Selenium RC server is invalid: ERROR Server Exception: sessionId should not be null; has this session been started yet?



有没有人有一种方法可以在这种情况下将 Selenium 测试标记为跳过?

最佳答案

您可以使用 test dependencies PHPUnit 3.4 中引入的。

基本上

  • 编写一个测试来检查 Selenium 是否已启动。
  • 如果没有,调用 $this->markTestAsSkipped()。
  • 让所有需要测试的 selenium 都依赖于这个。
  • 关于selenium - 如果 Selenium 服务器未运行,如何跳过 PHPUnit 中的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418396/

    相关文章:

    java - 如何将我的测试结果从 selenium 发送到 testrail

    java - "TestNG No tests found. Nothing was run"通过 TestNG 使用 Selenium 执行自动化测试

    autocomplete - PhpStorm PhpUnit 通过 phar 自动完成功能不起作用

    php - 如何在 PHP 中 stub 这个函数

    unit-testing - 我应该测试私有(private)/ protected 方法吗?为什么?

    performance - 在 symfony 3 上的所有 phpunit 测试之前加载一次装置

    java - Selenium 中是否有比 findElement 方法更快的获取元素的方法?

    javascript - 单击 Protractor 中的可见按钮?

    java - 如何使用 Selenium 检查可以从网页打开多少个窗口

    php - 模拟 Laravel 的 Request::segment 方法