2015-07-10 330 views
2

我正在進行Selenium測試自動化。我創建了我的Selenium測試套件來自動化我的測試套件。現在我想將Selenium結果與TestRail集成。我不確定如何將Selenium測試運行的結果集成到TestRail測試套件。我用java寫了所有的測試用例。我現在卡住了。舉一個例子對我有所幫助。集成Selenium測試結果與TestRail 4.0

我正在使用testng框架,Maven構建工具。

回答

4

其基本思想是您需要能夠將結果鏈接到TestRail中的特定用戶的上下文中的唯一測試ID。這可以在每個測試執行並通過/失敗時完成,也可以在整個運行完成後完成。

如果您想在每次測試通過/失敗後將結果推送到TestRail,您可以創建一個TestNG listener,它將偵聽測試結果,然後調用API將結果提交給TestRail。這種方法比爲每個測試添加一個功能要乾淨得多。

如果您想在運行完成後將結果推送到TestRail,那麼您可能必須編寫一個解析器來讀取/處理整個結果文件,然後適當地調用the TestRail APIs

就您需要調用的API而言,您可以使用API​​方法「add_result」或「add_result_for_case」來執行此操作。這兩種方法之間的主要區別在於「add_result_for_case」採用案例ID和運行ID,而「add_result」採用測試ID。根據您的自動化方法,它們都可能有用。

有一個Java API在綁定可用:

https://github.com/gurock/testrail-api

這是記錄here

您實例通過使用Java API接口:

import com.gurock.testrail.APIClient; 
import com.gurock.testrail.APIException; 
import java.util.Map; 
import java.util.HashMap; 
import org.json.simple.JSONObject; 

public class Program 
{ 
    public static void main(String[] args) throws Exception 
    { 
     APIClient client = new APIClient("http://<server>/testrail/"); 
     client.setUser(".."); 
     client.setPassword(".."); 
    } 
} 

這裏有一個GET請求的例子:

APIClient client = new APIClient("http://<server>/testrail/"); 
client.setUser(".."); 
client.setPassword(".."); 
JSONObject c = (JSONObject) client.sendGet("get_case/1"); 
System.out.println(c.get("title")); 

而這裏的POST請求:

Map data = new HashMap(); 
data.put("status_id", new Integer(1)); 
data.put("comment", "This test worked fine!"); 
JSONObject r = (JSONObject) client.sendPost("add_result_for_case/1/1", data); 
+0

感謝。有效。 –

+0

Hi @ UdayChitturi,你能爲我提供這個代碼嗎?實際上它不適合我 –