残りのAPI自動テストツールとしてpostmanを使用する


より多くのAPIを作成したり、他の人のプロジェクトを引き継いだりすると、特にテスト環境では、APIの運用と保守が増え、さまざまな要因によって、期待に沿わないインターフェイスが表示されます。現時点では、製品やテストを行うときに、あなたが嫌がらせをするようになったとき、あなたの最初の反応はそれを自分で実行して実際のインターフェースの問題があるかどうかを確認し、それを詳細に分析することです。

通常、インターフェイスアドレスがスプライスされ、パラメータが作成されてから、返された結果を確認するためにAPIが要求されます。この種のアクションは、特にインターフェイスが最後に問題ないことがわかった場合は特に、やりすぎた後は通常煩わしいものです。

ツールの選択

選択基準

Swaggerをバッチでインポートできます

自分でテストインターフェイスを構築する機能

バッチで実行できます

レポートを出力できます

警告できるようにするのに最適

候補ツール

jmeter-インターネットで見つけました。最初に気付いたのはjmeterでしたが、インターフェイスが少し粗く、学習コストが少し高いため、当面は考慮していません。

Soupui-古いツールのように見えますが、無料版はレポートのエクスポートをサポートしていないため、私はあきらめました

dredd-これは見栄えがよく、Swaggerをサポートできますが、正常に実行できない場合は大まかに試してみます。

Postman-これは以前にインストールされていましたが、その機能が見つかりませんでした。今では、非常にシンプルで使いやすく、Swaggerもサポートしています。

郵便配達員関連の知識

Swaggerをインポートする

この機能は私にとって最も重要です。左上隅にインポートボタンがあります。[リンクからインポート]を選択して、インターフェイスのSwagger APIドキュメントアドレスを入力できます(例:http://192.168.99.100 :)。 8080 / scm / v2 / api -docsをクリックして、インポートします。

コレクションを設定する

リクエストを保存するときに、既存のコレクションを選択するか、新しいコレクションを作成できます。コレクションは、テストスイートと同等にすることができます。

テストを設定する

自動テストを実行する場合は、ここでスクリプトを設定する必要があります。そうしないと、実行してもあまり意味がありません。最も単純で最も一般的に使用される2行のスクリプトは次のとおりです。

tests ["ステータスコードは200"] = responseCode.code === 200;
tests ['応答時間は500ms未満'] = responseTime <500;
1つはhttpをアサートするステータスコードでもう1つは応答をアサートします時間。

環境変数を設定する

コレクションのhttpリクエストを選択し、右側の[環境の管理]ボタンをクリックするだけで、環境変数を定義できます。devとprodの2つのセットを定義し、対応する環境のapiホストをそれぞれ設定できます。 、APIリクエストを繰り返し設定する必要がないようにします。 varnameが設定した変数名であると仮定して、{ {varname}}を使用してURL内の 変数を参照します。

ランナーを実行する

左上隅にランナーアイコンがあり、それをタップしてCOLLECTIONRUNNERインターフェースをポップアップします。ここで、バッチ自動テストを実行し、環境を選択して実行します。

newmanコマンドラインの実行

構成のエクスポート

コレクションで、エクスポートし、コレクションV2を選択して、jsonとしてエクスポートします。環境を使用する場合は、環境のjson構成をエクスポートする必要があります。

newmanをインストールします

sudo npm install -g newman

ニューマンバージョンを見る

newman -version
3.4.3

コマンドラインの実行

newman run demo.postman_collection.json --reporters cli,html --environment dev.postman_environment.json --reporter-html-export result.html

コマンドラインの結果は次のとおりです。

┌─────────────────
│ │ executed │ failed │
├─────────────────
│ iterations │ 10
├─────────────────
│ requests │ 220
├─────────────────
│ test-scripts │ 220
├────────────────
│ prerequest-scripts │ 00
├────────────────
│ assertions │ 446
├────────────────
│ total run duration: 28s │
├────────────────
│ total data received: 312.29KB (approx)
├─────────────────────
│ average response time: 1245ms │
└─────────────────────
# failure detail
1. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app1"
2. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app2"
3. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app1"
4. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app3"
5. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of
"app2"
6. AssertionFai… Status code is 200
at assertion:1 in test-script
inside "XXXX" of "app1"

同時に、result.htmlレポートが生成されます。

jenkins統合

ビルド選択Windowsバッチコマンドの実行-上記のコマンドを入力するだけです

JUnitテスト結果レポートの公開-Jenkinsには、junitのxmlテストレポートの解析に使用できるJUnitテスト結果レポートの公開があります。これを使用するには、コマンドラインでjunitのレポートを出力する必要があります

newman run demo.postman_collection.json --reporters cli,html,junit --environment dev.postman_environment.json --reporter-html-export result.html --reporter-junit-export junit-result.xml

最後に、ソフトウェアテストデータ共有の波!

テクノロジー業界では、技術スキルを向上させ、自動化プロジェクトでの実務経験を充実させる必要があります。これは、今後数年間のキャリア計画とテストテクノロジーの習熟度に非常に役立ちます。

ゴールデン9日とシルバー10日の面接シーズン、転職、面接の質問の整理のシーズンは、長年私の習慣になっています!以下は、近年の私のコレクションと並べ替えです。全体は[ソフトウェアテスト]を中心に構成されています。メインコンテンツには、Python自動化テストの独占ビデオ、Python自動化の詳細、インタビューの質問のフルセット、その他の知識コンテンツが含まれます。

あなたと私が会い、あなたが何かを見つけることができますように!ソフトウェアテスト、インターフェイステスト、自動テスト、およびインタビューの経験を交換したい場合。WeChatパブリックアカウントをフォローする:[悲しいスパイシーストリップ]216ページのソフトウェアテストエンジニアのインタビューブックを無料で受け取ります。そして、対応するビデオ学習チュートリアルは無料で共有できます!コミュニケーション学習スカート:313782132

良い記事をお勧めします:

1年の実務経験を持つテストエンジニアとしてパッケージ化されており、面接前のアドバイスは以下のとおりです。

自動テストで正確に何を学ぶ必要がありますか?

Tencentを転職に考えてみませんか?私とガチョウ工場の間の過去について少し話してください

より高度な自動テストと手動テストのどちらですか?

初心者は必見です:資格のあるテストケースを書く方法は?

Pythonログインインターフェイステストの問題の記録と解決策(乾物)

おすすめ

転載: blog.csdn.net/weixin_50829653/article/details/113991670