我正在使用phpunit & phpundercontrol在每次构建时运行RC Selenium。
发布于 2011-01-21 11:52:29
PHPUnit允许您实现自己的TestListener。自定义测试侦听器在PHPUnit_Framework_TestListener接口中实现抽象方法。具体地说,您的侦听器将实现:
一旦附加了TestListner,每次测试套件中发生相应的事件时都会调用这些方法。编写这些方法是为了在您将要创建的测试结果数据库上执行插入和更新。
将侦听器类附加到套件与向phpunit.xml配置文件添加标记一样简单。例如:
<phpunit>
<testsuites>[...]</testsuites>
<selenium>[...]</selenium>
<listeners>
<listener class="Database"
file="/usr/loocal/share/pear/PHPUnit/Util/Log/Database.php">
</listeners>
</phpunit>这就是你所需要的!
实际上,我刚才描述的(PHPUnit_Util_Log_Database),监听器的一个工作版本以及两个不同的数据库模式定义已经附带了PHPUnit。
在许多系统上,该类位于/usr/loocal/share/pear/PHPUnit/Util/Log/Database.php,中,而模式位于/usr/loocal/share/pear/PHPUnit/Util/Log/Database/MySQL.sql和/usr/loocal/share/pear/PHPUnit/Util/Log/Database/SQLite3.sql.中根据您所使用的DBMS,您可能需要进行一些调整。
请参阅文档的这些部分(它不会让我发布两个链接:
http://www.phpunit.de/manual/3.4/en/extending-phpunit.html#extending-phpunit.PHPUnit_Framework_TestListener
htp://www.phpunit.de/manual/3.4/en/api.html#api.testresult.tables.testlistener
(StackOverflow不允许我发布两个链接,因此您必须更正第二个链接中的超文本传输协议)
发布于 2010-11-10 23:09:16
几天前在here上问了一个相关的问题。
我尝试使用Selenium IDE、Selenium RC和perl。
一般策略:
您可以让较新版本的phpunit生成TAP输出(选项--tap、--log-tap)。
(TAP是测试任何协议-标准化输出格式)
解析日志文件,从TAP解析器对象中获取套件元数据,使用perl插入到数据库中,如"# Number of Passed":,"Failed","Unexpectedly“,
https://stackoverflow.com/questions/1612915
复制相似问题