【问题标题】:Error handling for PhpUnit Selenium testsPhpUnit Selenium 测试的错误处理
【发布时间】:2012-08-13 01:18:30
【问题描述】:

我有一套 Selenium 测试。例如,有时,“assertIsElementPresent”会失败。在某些情况下,这可能是因为有人破坏了某些东西,并且 UI 单击序列的结果是导致显示站点错误页面的错误。

如何检查每次失败是否都发生了这种情况,而不必在任何地方实现对以下方法的调用?

    $isErrorPage = $selenium->isElementPresent("id=siteErrorPage");
    if ($isErrorPage){
        $html = $selenium->getHtmlSource();
        //send the $html to devs, log it, etc.
    }

目的只是在页面被证明是错误页面时通过电子邮件发送所显示页面的 html 源代码。

【问题讨论】:

    标签: selenium phpunit


    【解决方案1】:

    我看起来你必须扩展 PHPUnit_Extensions_Selenium2TestCase 类,并重载 onNotSuccessfulTest()。在那里添加您的代码并使您的所有测试用例扩展您的新类而不是 PHPUnit_Extensions_Selenium2TestCase。确保在您的扩展版本中调用 parent::onNotSuccessfulTest()。

    我尚未对此进行测试,但通过研究代码,这应该可以满足您的需求。看起来stop() 命令是在会话__destruct() 上发送的,因此当您尝试获取屏幕截图时会话应该仍然处于活动状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2011-11-29
      • 2011-12-08
      • 2011-04-19
      • 2020-10-21
      • 1970-01-01
      相关资源
      最近更新 更多