QualityForwardはテスト管理をクラウドで提供しています。そして、多くのクラウドサービスと同様にAPIを提供しています。現在、下記のデータを取得または新規作成、更新、削除できます。
- プロジェクト
- テストケース
- テストサイクル
- テストフェーズ
- テスト結果
- テストスイート
- テストスイートバージョン
- ユーザ
これらのデータを扱うためのNode.jsライブラリを開発しています。1.0.3での対応範囲を紹介します。
使い方
npmパッケージとして公開していますので、package.jsonで指定して取り込んでください。APIキーはプロジェクトの設定で取得できます。
import{QualityForward}from'qualityforward-node';constAPI_KEY='0aa...340';constclient=newQualityForward(API_KEY);
各データの取得が可能に
上記で示した各データがオブジェクトになりました。
- プロジェクト / Project
- テストケース / TestCase
- テストサイクル / TestCycle
- テストフェーズ / TestPhase
- テスト結果 / TestResult
- テストスイート / TestSuite
- テストスイートバージョン / TestSuiteVersion
- ユーザ / User
テストスイートの取得
例えばテストスイートの取得は次のように行います。
consttestSuites:TestSuite[]=awaitclient.getTestSuites();
テストケースバージョンの取得
テストケースバージョンはテストケースに紐付くので、次のように行います。
for(letkeyintestSuites){consttestSuite=testSuites[key];constversions=awaittestSuite.getVersions();}
テストケースの取得
さらにテストケースはテストケースバージョンから取得できます。
for(letkinversions){constversion=versions[k];consttestCases=awaitversion.getTestCases();if(testCases.length===0)continue;}
このように階層的な構造になっているので注意してください。
テスト結果の取得
テスト結果を取得する場合も階層的に取得する必要があります。テストフレーズ -> テストスイートアサインメント -> テストサイクル -> テスト結果といった具合です。
consttestPhases:TestPhase[]=awaitclient.getTestPhases();for(lettestPhaseoftestPhases){if(testPhase.test_suite_assignments.length===0)continue;consttestSuiteAssignment=testPhase.test_suite_assignments[0];consttestCycles=awaittestSuiteAssignment.getTestCycles();if(testCycles.length===0)continue;consttestResults=awaittestCycles[0].getTestResults();// console.log(testResults[0])}
まとめ
1.0.3で、QualityForwardのデータについて一通り取得できるようになりました。今後、データの作成であったり、集計などに便利なメソッドを追加していきます。コードはgoofmint/qualityforward-nodeで公開しており、MIT Licenseとなっています。