簡體   English   中英

有沒有辦法將RC RC Selenium測試錯誤/失敗記錄到數據庫中?

[英]Is there a way to LOG RC Selenium test errors/failures into a database?

我使用phpunit和phpundercontrol在每個版本上運行RC Selenium。

PHPUnit允許您實現自己的TestListener 定制測試偵聽器在PHPUnit_Framework_TestListener接口中實現抽象方法。 具體來說,您的監聽器將實現:

  • startTestSuite()
  • endTestSuite()
  • startTest()
  • endTest()
  • addError()
  • addFailure()
  • addSkippedTest()
  • addIncompleteTest()

附加TestListner后,每次在測試套件中發生相應的事件時,就會調用這些方法。 這些方法將被編寫為在您將創建的測試結果數據庫上執行INSERTUPDATE

將偵聽器類附加到套件就像添加一個監聽器一樣簡單 標記到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。


請參閱文檔的這些部分(不會讓我發布兩個鏈接:

http://www.phpunit.de/manual/3.4/zh-CN/extending-phpunit.html#extending-phpunit.PHPUnit_Framework_TestListener

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM