2017-06-03 14 views
2

フロントエンド(UI)の実装が準備できていないため、開発者は新しいプロジェクトをテストし始め、開発者はAPIサービスをテストしてテストします。 安定化後の機能用の自動化スクリプトを書く必要がありますWeb UIの代わりにAPIサービスレベルに基づく自動テスト

  • APIサービス機能を自動化することは可能ですか?
  • またはフロントエンドが準備できるまで待ってから要素を見つけてUIを使って自動化することができます。
  • あなたはそれがUIなしAPIサービスのテストを自動化することは間違いなく可能だし、多くの場合、それはを好ま実際だ自動化API

答えて

1

を通じて対WEB UIで私に 自動化の違いを説明していただけます。

APIサービス機能を自動化することはできますか? またはフロントエンドが準備完了するまで待たなければ要素を見つけてUIで自動化できません。

あなたフロントエンドのUIとは別にAPIをテストすることができます。すべてのフロントエンドUIが行うことは、バックエンドAPIに対するリクエストを作成することです。そのため、UIを使用してAPIリクエストを行う代わりに、にHTTPリクエストを送信し、応答のアサーションをにすることができるAssertibleのようなツールを使用できます。

APIをテストする場合は、ステータスコード(例:200)、レスポンスボディなどを検証して、期待どおりの応答が得られるようにします。基本的には

1)APIリクエストを送信します(例えば、GET /users

2)APIレスポンスを受信(例えば、[{id: user1}, {id: user2}]

3)応答ステータスコードをアサートは200に等しいです。または、2ユーザーがAPIから返されると主張します。

あなたは私は上記のように大きな違いがある

自動化APIを介して対WEB UIで私に自動化の違いを説明していただけます:あなたがウェブUIを通じてテストを自動化する際、あなたは、単にありますUIを使用してAPIリクエストを作成する API自体をテストするには、リクエストを直接バックエンドに送信するだけです。

これを達成するために使用できるさまざまなツールとサービスがあります。 ホストされているサービスでコードをあまり必要としないサービスを使用する場合は、AssertiblePostmanの両方が優れています。コードを記述したいのであれば、HTTPリクエストを行うことができるかなりの言語/ライブラリを使うことができます。 JavaScriptでは、例えば、ChakramFrisby.jsの両方がよく使われます。

希望すると便利です。


補足として、UIとは別にAPIをテストすることには多くの利点があります。すなわち、試験を薄片にしておらず、を根本原因に容易に追跡することができるように、試験を維持することは、小さくて孤立したです。

+1

この非常に明確な答えをありがとうございました。はい、現在、私は手動でAPIをテストするためにpostmanを使用しています。 と会社はテストを自動化したいので、UIの代わりにAPIを使ってやってみたいと思っています。私のすべての自動化の経験は、セレニウムを使ったUIに基づいています。 なぜQAオートメーションエンジニアがIDテストを使用してID/Xpathを使用して要素を配置するのですか?つまり、オートメーションAPIはUIオートメーションとして一般的ではありません。 – Mzaghleh

+0

それは良い質問です - 私は大きな理由は、APIからUIを分離することは比較的新しいことだと思います。最近では、UIとは別にAPIを記述することをお勧めします。それ以前は、UIとバックエンドが密接に結びついていたため、セレンのテストは多くのことをカバーしていました。 APIが独立して使用されるようになり、APIテスト自動化が普及しています。 (PS - Postmanコレクションをお持ちの場合、Assertibleはこれらのリクエストを自動化できます。[こちらを参照](https://assertible.com/blog/new-feature-import-and-automate-api-tests-from-postman-collections )) –

関連する問題