PhpUnit Selenium测试的错误处理

时间:2012-08-07 08:08:26

标签: selenium phpunit

我有一套Selenium测试。有时,例如,'assertIsElementPresent'将失败。在某些情况下,这可能是因为有人破坏了某些内容,并且UI点击序列的结果是一个错误,导致显示该网站的错误页面。

如何检查每次发生的故障是否已经发生,而无需在任何地方实施对以下方法的调用?

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

如果页面已成为错误页面,则意图只是通过电子邮件发送正在显示的页面的html源。

1 个答案:

答案 0 :(得分:1)

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

我没有对此进行测试,但是通过研究代码,应该为您提供所需的内容。看起来stop()命令在会话__destruct()上发送,因此当您尝试获取屏幕截图时,会话仍应处于活动状态。