どのようにPostmanテストを書いて、あなたのCIの一部としてそれらを実行する
9572 ワード
伝統的に構築、展開、およびテスト(ホワイトボックス)APIは分離した方法で行われました.QAチームはCHAI HTTP、Blue Tapeなどのツールを使用してホワイトボックステストを書いている間、DEVOPSチームは展開を扱いました.
Postmanは、APIのコラボレーション、共有、および文書化のための標準になりました.あなたがAPIを構築しているならば、可能性はあなたがPostmanを使っているということです.
多くの人は、郵便マンもテストを書くことができます知っている.この機能を使用すると、バックエンド開発者がテストの一部としてテストを記述できます.これらのテストは、後に連続統合パイプラインで実行できます.これらの自動化は確実性を展開にもたらします.
このチュートリアルでは、TODOを使用します.https://pyher2ne7raefaz22vgl2pr2ku.appsync-api.ap-south-1.amazonaws.com/graphql ) GraphSQL APIを出発点としてカバーします. Postmanを使った書き込みテスト Githubアクションを使用してテストを実行し、デフォルトのブランチにプッシュします
次のリポジトリをクローンしてください.https://github.com/wednesday-solutions/postman-tests-starter . このチュートリアルでは、いくつかのエンドポイントを公開します. CreateUser 創造論者 createNote クエリ 注:もしあなたがここでスペックを読むために数分かかることがあります.( https://graphql.org/ )
最初のステップスタート郵便配達人として→ インポートとドラッグアンドドロップコレクションと環境.
このAPIはユーザを作成します.これをテストするのは簡単です.
今すぐあなたのコレクションをロードして準備ができて、これらの手順に従ってテストを追加します.
1 .突然変異フォルダを開き、CreateUserを選択します.
2 . bodyタブに移動し、右側のGraphSQL変数セクションにこれを追加します
テストタブに移動し、次のスニペットを追加します.
ここでは、APIからの応答にエラーがあるかどうかを確認します.エラーがなければ、ユーザの作成が成功したことを意味します. ここで環境変数を この時点でSENDボタンを選択します.APIは応答を返します、そして、プレビュー・ボタンを選んでください、そして、環境変数がAPIによって返されたのと同じユーザー名IDを持っていることに注意してください.
このAPIはtodosのリストを作成します.このAPIをテストするには、前のテストで作成したuserRound IDのリストを作成するテストを書きます.
1 .突然変異フォルダからのCreateList
body tabに移動し、次のように追加します.
このAPIは、ユーザーがtodoを作成することができます.このテストを書きましょう
1 .突然変異フォルダのcreateNoteを選択します.
body tabに移動し、以下を追加します
名前が示すように、このAPIは、つくられるメモのために質問するのに用いられます.上記と同様に、作成されたノートが正しく格納されているかどうかをチェックするテストを書くことができます.私はどのようにこのテストを書くことができますし、あなたのための運動としてこれを残しての詳細に移動しません.
ここで完成したテストを見ることができます.https://github.com/wednesday-solutions/postman-tests
この時点まで、テストのあるAPIの作業コレクションが必要です.この節では、マスターするマージにこれらのテストを実行するには、Githubアクションを設定する方法を学びます.
注意: Githubアクションはこのチュートリアルの範囲外です.あなたが彼らについてより知りたいならば、これを読んでくださいhttps://github.com/features/actions ) このコマンドを使用してYMLファイルを作成します
次のコードをYMLファイルに追加します
1 .これは ここでサポートするさまざまなオプションのすべてを読むことができます.https://github.com/marketplace/actions/newman-action
2 .これは、コンソールに1 . 1の要約を印刷します
あなたのgithubレポに上記のファイルを押して、あらゆるマージで実行するアクションを見てください.
PostmanはAPI開発のための事実上のコラボレーションプラットフォームになりました.彼らがAPIを手動でテストしている間、バックエンド開発者は統合テストを書くことができます.
その最も新生の形で、これはあなたのAPIが基本的な健全性テストを通過することを保証する最初のステップです.
より多くのテストケースを追加し、さまざまなシナリオをエミュレートするので、統合テストのための別のフレームワークを使用する必要がなくなります.
あなたは完全な解決策をチェックアウトすることができます
➤こちらhttps://github.com/wednesday-solutions/postman-tests
今、あなたはどのようにテストを記述し、PostScriptで動的変数を動的に設定する方法を知っているポストマンの完全な可能性のロックを解除するには、次の記事を見てください! https://learning.postman.com/docs/writing-scripts/test-scripts/
https://learning.postman.com/docs/writing-scripts/script-references/test-examples/ - https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/
私はあなたがPostmanテストでこのチュートリアルを楽しんだことを願っています.何か質問やコメントがあれば、下記のフォーラムディスカッションに参加してください.
➤このブログはもともと投稿されましたhttps://wednesday.is 水曜日に私たちに従って動作するようにそれが何であるかについての詳細を知るために
Postmanは、APIのコラボレーション、共有、および文書化のための標準になりました.あなたがAPIを構築しているならば、可能性はあなたがPostmanを使っているということです.
多くの人は、郵便マンもテストを書くことができます知っている.この機能を使用すると、バックエンド開発者がテストの一部としてテストを記述できます.これらのテストは、後に連続統合パイプラインで実行できます.これらの自動化は確実性を展開にもたらします.
このチュートリアルでは、TODOを使用します.https://pyher2ne7raefaz22vgl2pr2ku.appsync-api.ap-south-1.amazonaws.com/graphql ) GraphSQL APIを出発点としてカバーします.
スタータープロジェクト
次のリポジトリをクローンしてください.https://github.com/wednesday-solutions/postman-tests-starter . このチュートリアルでは、いくつかのエンドポイントを公開します.
書き込みテスト
最初のステップスタート郵便配達人として→ インポートとドラッグアンドドロップコレクションと環境.
Createuserテスト
このAPIはユーザを作成します.これをテストするのは簡単です.
今すぐあなたのコレクションをロードして準備ができて、これらの手順に従ってテストを追加します.
1 .突然変異フォルダを開き、CreateUserを選択します.
2 . bodyタブに移動し、右側のGraphSQL変数セクションにこれを追加します
{
"createUserInput": {
"name": "Mac",
"userRef": "mac-123"
}
}
上記の変数はAPIに渡されます.あなたが好む何かにこれらの値を変更すること自由に感じなさい.テストタブに移動し、次のスニペットを追加します.
pm.test("if createUser API creates a valid user", function() { // 1
const response = JSON.parse(responseBody);
pm.expect(response.errors).to.be.undefined // 2
const jsonData = JSON.parse(responseBody)
postman.setEnvironmentVariable("user_id", jsonData.data.createUser.id) // 3
});
上のコードは最初は理解が難しいかもしれません.難しいビットを見ましょう.pm
こちらは郵便配達人です.Postmanが実行できるテストメソッドを提供するのは、オブジェクトです.user_id
APIから受け取りました.CreateListテスト
このAPIはtodosのリストを作成します.このAPIをテストするには、前のテストで作成したuserRound IDのリストを作成するテストを書きます.
1 .突然変異フォルダからのCreateList
body tabに移動し、次のように追加します.
{
"createListInput": {
"name": "House chores",
"userId": {{user_id}}
}
}
テストタブに移動し、次のように追加します.pm.test("if createList API creates a valid list", function() {
const response = JSON.parse(responseBody);
pm.expect(response.errors).to.be.undefined
const jsonData = JSON.parse(responseBody)
pm.expect(jsonData.data.createList.userId)
.to.be.equal(parseInt(pm.environment.get("user_id"), 10));
postman.setEnvironmentVariable("list_id",
jsonData.data.createList.id)
});
上記のコードを理解するのは簡単です.UserRound IDが同じであるかどうかを確認し、APIから受信したListRes IDを環境変数で設定し、さらに使用します.ドリルはクリアされなければなりません.依存関係は、関連APIをテストするために使用できる環境になります.createNoteテスト
このAPIは、ユーザーがtodoを作成することができます.このテストを書きましょう
1 .突然変異フォルダのcreateNoteを選択します.
body tabに移動し、以下を追加します
{
"createNoteInput": {
"note": "Mow the lawn",
"listId": {{list_id}},
"deadline": "2021-01-01T00:00:00.000Z"
}
}
テストタブに移動し、次のようにテストを書きますpm.test("if queryNotes API returns the correct note and associated data", function() {
const response = JSON.parse(responseBody);
pm.expect(response.errors).to.be.undefined
const jsonData = JSON.parse(responseBody)
const notes = jsonData.data.notes;
pm.expect(notes.items.length).to.be.equal(1);
pm.expect(notes.items[0].id).to.be.equal(pm.environment.get("note_id"));
pm.expect(notes.items[0].note).to.be.equal("Mow the lawn");
pm.expect(notes.items[0].done).to.be.equal(false);
pm.expect(notes.items[0].deadline).to.be.equal("2021-01-01T00:00:00.000Z");
pm.expect(notes.items[0].listId)
.to.be.equal(pm.environment.get("list_id"));
pm.expect(notes.items[0].list.id)
.to.be.equal(pm.environment.get("list_id"));
pm.expect(notes.items[0].list.user.id)
.to.be.equal(pm.environment.get("user_id"));
});
上記のテストケースは、右のリストとユーザーIDで正常に作成されたノートをチェックします.ノートテスト
名前が示すように、このAPIは、つくられるメモのために質問するのに用いられます.上記と同様に、作成されたノートが正しく格納されているかどうかをチェックするテストを書くことができます.私はどのようにこのテストを書くことができますし、あなたのための運動としてこれを残しての詳細に移動しません.
ここで完成したテストを見ることができます.https://github.com/wednesday-solutions/postman-tests
ギタブアクション
この時点まで、テストのあるAPIの作業コレクションが必要です.この節では、マスターするマージにこれらのテストを実行するには、Githubアクションを設定する方法を学びます.
注意: Githubアクションはこのチュートリアルの範囲外です.あなたが彼らについてより知りたいならば、これを読んでくださいhttps://github.com/features/actions )
mkdir -p ./github/workflows
name: Postman tests
on:
push:
branches: [master]
jobs:
run-and-test:
runs-on: ubuntu-latest
steps:
- name:
uses: actions/checkout@v2
#1
- name: Run API Tests
id: run-newman
uses: anthonyvscode/newman-action@v1
with:
collection: todo-application.postman_collection.json
environment: todo-application.postman_environment.json
reporters: cli
#2
- name: Output summary to console
run: echo ${{ steps.run-newman.outputs.summary }}
上記コードの説明です.1 .これは
newman-action
コレクションランナーを実行するgithubアクション.collection
コレクションファイルへのパスを期待します.environment
環境ファイルへのパスを期待します.2 .これは、コンソールに1 . 1の要約を印刷します
あなたのgithubレポに上記のファイルを押して、あらゆるマージで実行するアクションを見てください.
ここからどこへ行くか
PostmanはAPI開発のための事実上のコラボレーションプラットフォームになりました.彼らがAPIを手動でテストしている間、バックエンド開発者は統合テストを書くことができます.
その最も新生の形で、これはあなたのAPIが基本的な健全性テストを通過することを保証する最初のステップです.
より多くのテストケースを追加し、さまざまなシナリオをエミュレートするので、統合テストのための別のフレームワークを使用する必要がなくなります.
あなたは完全な解決策をチェックアウトすることができます
➤こちらhttps://github.com/wednesday-solutions/postman-tests
今、あなたはどのようにテストを記述し、PostScriptで動的変数を動的に設定する方法を知っているポストマンの完全な可能性のロックを解除するには、次の記事を見てください!
https://learning.postman.com/docs/writing-scripts/script-references/test-examples/ - https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/
➤このブログはもともと投稿されましたhttps://wednesday.is 水曜日に私たちに従って動作するようにそれが何であるかについての詳細を知るために
Reference
この問題について(どのようにPostmanテストを書いて、あなたのCIの一部としてそれらを実行する), 我々は、より多くの情報をここで見つけました https://dev.to/alichherawalla/how-to-write-postman-tests-and-execute-them-as-a-part-of-your-ci-1ennテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol