我正在使用phpunit& phpundercontrol在每次构建时运行RC Selenium。
答案 0 :(得分:1)
PHPUnit允许您实现自己的 TestListener 。自定义测试侦听器在 PHPUnit_Framework_TestListener 接口中实现抽象方法。具体来说,您的监听器将实现:
一旦附加了TestListner,每次在测试套件中发生相应的事件时,都会调用这些方法。编写这些方法是为了在您将创建的测试结果数据库上执行 INSERTs 和 UPDATEs 。
将侦听器类附加到套件就像将 标记添加到 phpunit.xml 配置文件一样简单。例如:
<phpunit>
<testsuites>[...]</testsuites>
<selenium>[...]</selenium>
<listeners>
<listener class="Database"
file="/usr/loocal/share/pear/PHPUnit/Util/Log/Database.php">
</listeners>
</phpunit>
这就是你所需要的一切!
事实上,PHPUnit已经附带了我刚刚描述的监听器的工作版本( PHPUnit_Util_Log_Database ),以及两个不同的数据库模式定义。
在许多系统中,此类将位于 /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,您可能需要进行一些调整。
请参阅文档的这些部分(它不会让我发布两个链接:
HTP://www.phpunit.de/manual/3.4/en/api.html#api.testresult.tables.testlistener
(StackOverflow不允许我发布两个链接,所以你必须在第二个链接中更正HTTP)
答案 1 :(得分:0)
我正在研究同样的问题。
几天前问过here相关问题。
我尝试使用Selenium IDE,Selenium RC和perl。
一般策略:
你可以制作更新版本的phpunit生成TAP输出(选项--tap, - log-tap)。
(TAP是Test Anything Protocol - 标准化输出格式)
解析日志文件以从TAP解析器对象获取套件元数据,使用perl插入数据库,例如: “#Passsed”:,“失败”,“意外成功”,