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()); }
任何线索的人,我真的需要帮助!
非常感谢,
亚历
答案 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”)) {
//做一些现在不应该退出浏览器的测试,因为我们知道页面存在。
}
请有人找到更好的做事方式!