オートメーションAPI入門:パート1-概要

Shashi Kumar Rajaの翻訳


APIオートメーションを実行したいとしますが、Google検索バーに最適なAPIオートメーションツールを入力するたびに、トップ10ツールへのリンクが非常に多く表示されるため、混乱してしまい、 明日は間違いなく実行することになります




APIオートメーションプラットフォームをセットアップしたい場合(できれば明日)に必要なものを理解することから始めましょう。 この考えをちょっと待ってください ...私は言った、考えないでください ... 私はあなたの上司が有料ツールにダイムを割り当てないことを知っています 。 見て、私はあなたの心を読んで、大声で考えないでください



有料ツールは実行せずにハングアップする必要があります:)


1.地獄はどこでテストを書き始めるべきですか?

テストを作成するための一連のルールとガイドラインを提供するものが必要になります。また、いくつかのツールとテクニックにアクセスできるようにすることでこれを行うことができます。 ベルが鳴る音が聞こえます、いいえ!!! まあ、私は鐘が何を作るか知っています。


TESTNGJUNITMOCHAPYTESTROBOTについて聞いたことがありますか? はい、すべてテスト自動化環境です。


要件に基づいて適切なテスト環境を見つける必要があります。どの既存の技術スタックを使用していますか? どのような自動化を行いたいですか? どの言語があなたにとってより便利かなど 自動化環境は、 ユニット、機能、およびその他のタイプのAPIテストを作成できる最も一般的な言語で見つけることができます。


テスト環境の詳細については、シリーズのパート2を参照してください。MochaPytestについて詳しく紹介しました


2.テスト環境でAPI呼び出しを行う方法を教えてください。

これらのプラットフォームのほとんどは、 HTTP要求ライブラリを含むAPI呼び出しをサポートしています。これは、REST APIが通信にHTTPプロトコルを使用するためです。


mochaなどの一部のフレームワークでは、 superagentなど、選択したHTTPリクエストライブラリを自由に使用できます。


  <code class = "lang-JS">リクエスト
   .post( '/ api / pet')
   .send({name: 'Manny'、species: 'cat'})// JSON投稿本文を送信します
   .set( 'X-API-Key'、 'foobar')
   .set( 'accept'、 'json')
   .end((err、res)=> {
     //終了関数を呼び出すと、リクエストが送信されます
   });
 </ code> 

GET、PUT、POST、DELETE、その他すべてのメソッドを簡単にサポートしており、ヘッダー、キャッシュ、リクエストパラメーターを渡すことができ、呼び出した-受け取った


3.クールですが、私のAPIの一部はJSONを提供し、他のAPIは応答としてXMLを提供します。これに対処するにはどうすればよいですか

これらのHTTP要求ライブラリのほとんどでは、 JSON、XML、CSV、テキスト、画像、フォームデータ、エンコードされたデータ形式のデータを 、いくつかのサポートされている承認標準で送受信できます


また、HTTP応答ステータスコードを処理し、必要な応答ステータスコードを受け取ったかどうかを確認することもできます。







4.良いですが、テストデータをどのように処理しますか?

テストデータの取得元に依存します。 これらのテストフレームワークを使用すると、ベースとなっている言語のすべての機能を使用できます。


a。 データベース:データを読み取るためのデータベース接続を簡単に作成できます。


b。 外部ファイル:外部テキスト、JSON、CSV、またはその他のファイルを読み取ることができます。


c。 ランダムデータ: フェイカーなどのライブラリを使用して、その場でランダムなテストデータを生成できます。


  <code> var faker = require( 'faker');

 var randomName = faker.name.findName();  //ローワン・ニコラウス
 var randomEmail = faker.internet.email();  // Kassandra.Haley@erich.biz
 var randomCard = faker.helpers.createCard();  //多くのプロパティを含むランダムな連絡先カード
 </ code> 

d。 API応答からのデータ:テスト中に何度も、あるAPIの応答を要求データとして別のAPIに渡す必要があります。 フックを使用してこれを行うことができます.Before 、Before each、After、After eachなどの関数を取得し、名前が示すとおり、テストの一部またはすべての前後に実行されます。 API2の前にAPI1を呼び出し、その応答をAPI2に渡します。 ちょうどいい!!! ️


5.テストデータの処理とAPI呼び出しの作成は簡単に思えますが、API応答を確認する方法を教えてください。

回答を確認するには、 Assertion libraryと呼ばれるライブラリが必要です。 多くのテスト環境にはアサーションライブラリがバンドルされており、構文などの単純な英語でassertを記述することができます。 また、応答のJSONスキーマを確認することもできます。


mochaでは、 chaiなどのアサーションライブラリを使用できます。


  <code> response.status.should.equal(200)
 foo.should.be.a( 'string');
 foo.should.have.lengthOf(3);
 tea.should.have.property(「フレーバー」)
   .with.lengthOf(3);
 </ code> 

6.すごい!!! このすべてのテストの後、些細なことが残っていましたが、どういうわけか私が上司に私が何をしたか、そしてどこで問題を見つけたかを示していますか?

これらのフレームワークのほとんどは、ダウンロードして共有できる基本的なHTMLテスト実行レポートを提供します。 グラフとチャートを備えたより美しいレポートが必要な場合は、 alluremochawesomeなどのオープンソースのレポートツールを使用できます。



7. APIオートメーションを今すぐ開始するために、これらのものを備えた何らかのテンプレートを取得できた場合のみ

何を言ったの?


これは、 node.jsでmochaを使用してAPIを自動化するために作成したテンプレートです。


含まれています



別の言語のテンプレートが必要な場合は、明日のために準備できます。


この記事が気に入ったら、手たたいてください。



Source: https://habr.com/ru/post/J433726/


All Articles