Selenium,php,phpUnit,404错误调用testComplete()而不是继续,我该怎么阻止这个?

时间:2010-07-14 00:08:34

标签: php testing selenium phpunit

Selenium,php,phpUnit,404错误调用testComplete()而不是继续,我该如何阻止它?

我正在使用selenium服务器和phpUnit来运行基于php的测试。我的测试很简单,测试页面是否存在,如果加载,页面上没有错误然后继续。我有一个缺少的页面,而不是说,是的,它不存在,我得到更多:

时间:16秒,内存:14.75Mb

有1个错误:

1)OlympicsSiteMapEnglishPages :: testMyTestCase PHPUnit_Framework_Exception:来自Selenium RC服务器的testComplete()响应。 XHR错误:URL = http://my.url/somepage Response_Code = 404 Error_Message =未找到。

/some/path/some_file.php:375

FAILURES! 测试:1,断言:0,错误:1。

我真的需要弄清楚如何阻止它这样做!我试过像这样捕获异常:

尝试{         $ this-> open(“/ rel / url.php”,1);     } catch(PHPUnit_Framework_AssertionFailedError $ e){         return array_push($ this-> verificationErrors,$ e-> toString());     }

任何线索的人,我真的需要帮助!

非常感谢,

亚历

2 个答案:

答案 0 :(得分:1)

  • PHPUnit_Framework_Exception继承自Exception
  • PHPUnit_Framework_AssertionFailedError继承自Exception

如果你想要捕获它们两者,你要么必须早些时候捕捉'预期的'PHPUnit_Framework_Exception(并且可能将它重新抛出为PHPUnit_Framework_AssertionFailedError),要么求助于通用try{} catch(Exception $e){}

答案 1 :(得分:0)

在一点点挖掘之后没有任何作用,所以我的hackie hack方式非常慢,它首先尝试打开每个url:

if(@fopen(rtrim($ this-> url,“/”)。“/ blah / blah / blah”,“r”)) {

//做一些现在不应该退出浏览器的测试,因为我们知道页面存在。

}

请有人找到更好的做事方式!