我目前正在研究基於testng xml中的參數在測試套件執行後將testng報告上傳到Amazon S3的功能。請看下面的TestNG的XML:將TestNg報告上傳到S3
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Base Framework Unit Test Suite" verbose="1" >
<parameter name="upload-test-reports" value="true" />
<parameter name="aws-provider-type" value="profile" />
<parameter name="aws-s3-bucket" value="qa-reports" />
<parameter name="target-reports-directory" value="TestProduct/Sprint1" />
<test name="Test-base-built Unit Tests" >
<parameter name="test-run-type" value="local" />
<parameter name="name" value="Test-base-built Unit Tests" />
<parameter name="browser" value="htmlunitwithjs" />
<groups>
<run>
<include name="unittest" />
</run>
</groups>
<classes>
<class name="unittest.TestBaseBuilt_Test" />
</classes>
</test>
</suite>
鑑於前四個參數(上載測試報告,AWS提供者型,AWS-S3桶,和目標的報告目錄),Java項目將上傳所有的文件在默認的測試輸出目錄(這是目前/建立/報告/測試)到S3。
現在,上傳部分工作正常。問題是它總是上傳前一次測試運行的文件。我曾嘗試創建一個擴展TestListenerAdapter並將上傳邏輯放在onFinish方法中的testng偵聽器。這沒有用;它在生成當前運行報告之前上載。我還試圖編寫一個實現IReporter並將上傳邏輯放入generateReport方法的自定義testng記者。同樣的結果;它在生成當前運行報告之前上載。
那麼,做任何testng專家知道我可以把我的文件上傳邏輯,以便它執行後,testng實際上生成的報告文件?
任何幫助非常感謝!