iT邦幫忙

DAY 26
0

初探網站自動化測試系列 第 26

整合 Spira Test 之二 (Geb Day 26)

  • 分享至 

  • xImage
  •  

Spria Test 提供一個友善的界面儀表板式呈現測試結果,生命週期為 Requirements -> Test Case -> Test Run

匯入第三方Jar檔

* 下載 Extension For JUnit Automated Testing Framework jar
* 將jar檔,安裝到local maven repository

mvn install:install-file -Dfile=/tmp/JUnitExtension.jar -DgroupId=com.inflectra.spiratest -DartifactId=junitextension -Dversion=3.0.0 -Dpackaging=jar

Step

雖然Geb也是支援Junit,但Junit並沒有Step,而Spock有@Stepwise,所以我最終採用了Spock,但產出的surefire中,依然不會帶有Step的架構在,它還是把每個Step視為獨立的Test Case,所以我重新改寫了SpiraTestExecute跟SpiraTestListener,這兩個class。

實際資料轉換流程

Spock -> 透過Maven surefire產出Junit報表 -> 匯入至Spira Test

API的使用

寫的沒有很漂亮,所以跟大家分享我實作的基本流程就好了。

* Test Case 需先在平台建好,然後Test Case Step可以透過API動態新增與更新。

IImportExport soap = connectSpiraSoapProxyServer();
soap.testCaseAddStep(remoteTestStep, testCaseId);

* 接下來建立所有 Test Case ,所對應的Test Case Run,它會回傳一個 ArrayOfRemoteManualTestRun。

ArrayOfRemoteManualTestRun arrayOfRemoteManualTestRun = soap.testRunCreateFromTestCases(arrayOfint, releaseId);

* 然後再接著更新裡面的Test Case Run 與 Test Run Step

remoteManualTestRun.setExecutionStatusId(testRun.executionStatusId);
List<RemoteTestRunStep> steps = remoteManualTestRun.getTestRunSteps().getValue()
                    .getRemoteTestRunStep();
for(RemoteTestRunStep remoteTestRunStep : steps){
    remoteTestRunStep.setExecutionStatusId(step.executionStatusId);
}

* 全部資料都設定好後,再把整個Array存回去。

soap.testRunSave(arrayOfRemoteManualTestRun, SpiraUtils.convertDatesJava2Xml(new Date()));

虛擬碼

updateTestCaseSteps();

ArrayOfRemoteManualTestRun arrayOfRemoteManualTestRun = spiraExecute.createArrayOfRemoteManualTestRun(testCaseStepMap.keySet());

for (RemoteManualTestRun remoteManualTestRun : arrayOfRemoteManualTestRun.getRemoteManualTestRun()) {
    Integer testCaseId = remoteManualTestRun.getTestCaseId();
    TestRun testRun = testRunMap.get(testCaseId);
    spiraExecute.updateRemoteManualTestRun(remoteManualTestRun, testRun, testCaseStepMap.get(testCaseId));

}
spiraExecute.testRunSave(arrayOfRemoteManualTestRun);

上一篇
整合 Spira Test 之一 (Geb Day 25)
下一篇
整合至 CI server 之五 (Geb Day 27)
系列文
初探網站自動化測試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言