testilnk java apiでJavaプログラムからテスト結果を更新

testlinkにプログラムからアクセスする。

testlinkのバージョンは次の通り。

1.9.2

まずはアクセス

String url = "http://....../testlink-1.9.2/lib/api/xmlrpc.php";
String devKey = "a09c87....d83de399818";
TestLinkAPIClient api = null;
api = new TestLinkAPIClient(devKey, url);

結果の更新には次の関数を使う。

TestLinkAPIClient.reportTestCaseResult(testPlanID, testCaseID, buildID, execNotes, testResultStatus)

上記関数を使うには、テスト計画のID、テストケースのID、ビルドのIDが必要なんだが、これがすべてTestLinkAPIHelperを使ってgetすることが出来る。

//テストプロジェクトの取得
Integer testProjectId = TestLinkAPIHelper.getProjectID(api, "テストプロジェクト名");
//テスト計画のIDを取得
Integer testPlanId = TestLinkAPIHelper.getPlanID(api, testProjectId, "テスト計画名");

//ビルドのIDを取得
Integer buildId = TestLinkAPIHelper.getBuildID(api, testPlanId, "ビルド名");

//テストケースのIDを取得
Integer testCaseId = TestLinkAPIHelper.getCaseIDByName(api, testProjectId, "テストケース名");

で、最後に更新すれば良い。

api.reportTestCaseResult(testPlanId, testCaseId , buildId, "execNotes", TestLinkAPIConst.TEST_FAILED);

※成功、失敗などのステータスや、テストの重要度を指定するためのenumはTestLinkAPIConstにだいたい用意されているようです。