web-dev-qa-db-ja.com

テストREST Webサービス

私の組織は、JBoss appserverでRESTful Webサービスの構築に取り組んでいます。 QAチームは、これまでSoapUIを使用してSOAP Webサービスをテストしています。SoapUIには、REST機能があります。これを使用することを検討しています。

  1. 誰かがテストできる無料のネット上で公開されているRESTfulサービスはありますか?
  2. RESTful Webサービスをテストするために使用できる(使用する)ツールは何ですか?
63
anjanb

soapUI も同様に仕事をします。チェックアウト このブログ投稿 始めましょう。

28
Ole Lensmar

Firefoxアドオンポスターをお試しください。これは使いやすく、すぐに実行できます。

25
user28192

かなり些細なPythonを使用してWebサービスを実行できます。セキュリティによっては、Pythonのurllibまたはurllib2を使用してRESTリクエストを実行し、答えを調べることができます。

さらに、Python unittestを使用して、PythonサービスのRESTテストの実行を制御することもできます。

class TestSomeREST( unittest.TestCase ):
    def setUp(self):
        REALM = "[email protected]"
        self.client= RESTClient( "localhost", 18000, "tester", "tester", REALM )
    def test_1_get(self):
        response = self.client.get('/this/that/other/2/')
        self.failUnlessEqual(200, response.status_code)
        j1= JSONDecoder().decode(response.content)
        self.assertEquals(2, j1[0]['pk'] )
        entity= j1[0]['fields']
        self.assertEquals('Some Other Group', entity['name'])
        self.assertEquals('E1G2', entity['customer_id'])

RESTClientクラスは、urllib2を使用して、リクエストごとにダイジェスト認証をパススルーします。かなり複雑ですが、興味がある場合はその本質を共有できます。

20
S.Lott

チェックアウト フィドラー

12
TheSoftwareJedi

RESTサービスをテストするには、 REST Assured を試してください。これにより、RESTサービスと、 Java(JUnitまたはTestNGを使用)。

8
Johan

CURLで途中まで行きます。残りの半分は、ヘッダー、応答コード、およびエンティティコンテンツをチェックして、その品質を確認しています。そのためにさまざまなツールを使用できます(シェルスクリプトランドでは、ヘッダーとコンテンツをファイルにパイプし、それらを差分するだけでうまくいくかもしれません)。ツールセットをさらに洗練することはそれほど難しくありません。おそらく、選択した単体テストフレームワークと丸まってしまいます。

AJAXで残りのWebサービステストパネルを作成しました。実際にはそれほど難しくありませんでした。いくつかのセキュリティ上の問題を解決する必要があります(つまり、同じサーバー上にテストスイートがあるか、署名されたJavascriptがあることを確認します)。

8
Jonathan Arkell

Postmanをご覧ください- https://chrome.google.com/webstore/detail/fdmmgilgnpjigdojojpjoooidkmcomcm/ 。これは私が過去数か月にわたって取り組んできたツールであり、最近では、大規模なREST=プロジェクトで基本的なRESTエンドポイントテスト。

このコードはGithubでも利用できます。 https://github.com/a85/POSTMan-Chrome-Extension

8
Abhinav

REST Webサービスをテストする最も簡単な方法は、ターミナルでcurlを使用することです。

RailsのWebサービスをテストするために使用したコードがいくつかあります。サービスに合わせて変更できます。

[〜#〜] get [〜#〜]

curl http://localhost:3000/courses.json

[〜#〜] post [〜#〜]

curl -H "Content-Type:application/json"  -d '{"courseCode":"55555","courseName":"SEEEE","courseYr":999}' http://localhost:3000/courses.json

RailsのPUT: eg1(すべてのフィールド):

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseCode":"123456","courseName":"AAAAAAAA","courseYr":12345}' http://localhost:3000/courses/5.json

eg2(フィールドのみ編集可能):

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseYr":999999999}' http://localhost:3000/courses/3.json

DELETE in Rails id with id

 curl -H "X-Http-Method-Override: delete" -H "Content-Type:application/json"  -d '{"id":4}' http://localhost:3000/courses/5.json
6
code4j

私はまだそれをテストしていませんが、これはJavaアプリはテストするのに良いようですRESTサービス。それに関するJavalobbyのチュートリアルもあります。

Javaアプリ: http://code.google.com/p/rest-client/

Tuto: http://Java.dzone.com/announcements/wiztoolsorg-restclient-21-rele

4

simple REST ClientはGoogleの拡張機能ですChrome too https://chrome.google.com/webstore/detail/ fhjcajmcbmldlhcimfajhfbgofnpcjmb

3
Chuck Mah

SOA Cleanerは、石鹸と休息の両方をテストするテストツールです(WCFでも、その機能は必要ないようです)。非常に直感的で使いやすいです。 .NETで書かれています。無料版も利用できます。 http://xyrow.com からダウンロードできます。がんばろう!

2
Clangon

私は RESTコンソールエクステンション を使用していますChromeそしてそれは最高ですOAuthなどのさまざまなセキュリティメカニズムもサポートしています。

(更新2:リンクを修正)

1
Michael Bavin

Javaの場合、 RESTFuse も存在します。これにより、次のような単体テストを開発できます。

@Rule
public Destination destination = new Destination("http://localhost:8080/rest/");


@HttpTest( method = Method.GET, path = "/status" ,authentications =
   @Authentication(type = AuthenticationType.BASIC, user = "joe", password = "doe")
)
public void testAuthRhqadmin() {
    com.eclipsesource.restfuse.Assert.assertOk(response);
}

このテストはhttp://localhost:8080/rest/statusに対して実行され、パスワードdoeでユーザーjoeとして認証されます。メソッドの本体は、GET呼び出しが200ステータスコードを返すことを確認します。

1
Heiko Rupp

社内の.NETフレームワークでRESTfulサービスをテストしています(Javaでの移植に問題はありません)。基本理念:

  • ビルドクライアント(呼び出しを行うため)
  • ビルドタイプクラス(XMLおよびJSON)
  • 応答をデシリアライズします
  • 主張する

さらに情報が必要な場合は、お気軽にお問い合わせください。

1

私はそれが非常に古い質問であることを知っていますが、他の人に役立つかもしれません。最初の質問に答えるために、 here をチェックして、テストするWebサービスをREST.

FirefoxのFiddlerおよびPosterプラグを使用して、任意のREST Webサービスをテストできます。SoapUIにはRESTful Webサービスのサポートも付属しています。

0
Manoj

現在、この目的のためにwsclient CLIアプリを調査しています( http://wso2.org/library/3362 )。これは非常に有望であり、bashシェルから簡単なテストをハッキングするために使用できます。もちろん、多くの人がここで言及したように、* nixシステムに付属するツールの多くは、ちょっとしたコーディング/スクリプティングで仕事をします。

0
verboze

REST Webサービスをテストするためのプログラムを作成しました。NET2.0で作成された非常にシンプルなアプリケーションです(Windows Vistaでのみテストしましたが、XPも)。アプリケーションはHttpWebRequestを使用して要求を作成し、結果の応答、および要求と応答のヘッダーを表示します。少しテストを行いましたが、役立つかもしれないと思いましたWebサービスをテストします。

RESTテスト

0
Ian Hopkins

私はこれのために、特に負荷テストのようなもののためにJMeterを使用しています。 SoapUI(私も使用しました)に似ていますが、Webページのテストに向いているため、RESTfulサービスのテストにもかなり適しています。

0
Mike Desjardins

Pythonのhttplibを試してください。メソッド、URLを指定し、parameters/POST本文にurllib.urlencodeを使用するのは非常に簡単です。

必要に応じて、これを組み込みのunittestモジュールと組み合わせて、エラーを報告できます。

0
Andy

Ruby=を使用したい場合は、 REST-Client gem があります

テスターに​​とっては、Rubyは学ぶのがとても簡単な言語であり、BDDスタイルの受け入れテストを行うためのCucumberのような優れたツールがあります。

テストREST完全なWebサービスは簡単なタスクです。ブラウザでは、REST Webを送信するクライアント予想/必須メソッドタイプのサービス:GET/POST/PUT/DELETEパラメーターが一致した場合、出力はブラウザーの本体で生成されます。enter image description here

0
mohit sarsar

私は数多くのRESTクライアントを試しましたが、これまでに使用したベストはChrome app: [〜#〜] dhc [ 〜#〜]

DHC(別名Dev HTTPクライアント)は、開発者がHTTPリソースの直接的な発見、操作、およびテストをより簡単に行えるように開発者によって設計および開発されています。主な機能であるカスタムHTTPリクエスト/レスポンスの送受信に加えて、後で再利用するためにリクエストをローカルリポジトリに永続的に保存し、さらにリクエスト宣言にコンテキスト固有の変数を含めることができます。コンテキストを使用すると、要求宣言を変更せずにさまざまな環境を簡単に切り替えることができます。 (例:テスト環境から実稼働まで)

0
Andaris

高度なREST=テストでは、 HttpMaster を試すことができます。
動的パラメーター、XML/JSONの使いやすいビューアー、および論理式に結合できるさまざまなタイプの応答データ検証をサポートします。
基本的なhttpリクエストには、一部のブラウザプラグインで十分です。

0
Joxi