[英]insert all errors in website into mysql database (Maintain log errors in database)
[英]Is there a way to LOG RC Selenium test errors/failures into a database?
我使用phpunit和phpundercontrol在每個版本上運行RC Selenium。
PHPUnit允許您實現自己的TestListener 。 定制測試偵聽器在PHPUnit_Framework_TestListener接口中實現抽象方法。 具體來說,您的監聽器將實現:
附加TestListner后,每次在測試套件中發生相應的事件時,就會調用這些方法。 這些方法將被編寫為在您將創建的測試結果數據庫上執行INSERT和UPDATE 。
將偵聽器類附加到套件就像添加一個監聽器一樣簡單 標記到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)
我正在研究同一個問題。
前幾天在這里問了一個相關的問題。
我嘗試使用Selenium IDE,Selenium RC和perl。
總體策略:
您可以使新版本的phpunit生成TAP輸出(選項--tap,--log-tap)。
(TAP是任何測試協議-標准化輸出格式)
解析日志文件以從TAP解析器對象獲取套件元數據,使用perl插入數據庫,例如“#Number of Passed”:,“ Failed”,“ Unexpectedly success”,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.