30
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Talendで始めるREST APIテスト

Last updated at Posted at 2019-10-19

REST API のテストに関して、
GUIで分かりやすい!簡単にできる Talend(旧 Restlet) について整理します。
(私が使い始めた頃は Restlet という名前でしたが、最近提供元の社名 Talend に変わったようです)

そもそも REST とは?

Representational State Transfer (REST) は、ウェブのような分散ハイパーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。
...
フィールディングのREST原則に従うシステムは、しばしばRESTfulといわれる。
(出展 : Wikipedia)

... はい、よく分かりません。
RESTful API で調べても色々と出てきます。

参考

Talendとは?

REST APIのGUIテストツール(Chrome拡張機能)。提供企業は Talend社。
企業情報を確認すると、BI関連の会社かなとざっくり分かります。
私自身、久しぶりに Restlet を使おうとすると Talend という名前になっていて驚きました笑
数年前にRestlet社が Talend社に買収されていたようです(プレスリリース

インストール

  • ChromeウェブストアTalend API Tester と入力、検索する
    • 概要 : REST、SOAP、HTTP APIと視覚的に対話できます。
  • Talend API Tester - Free Edition をクリックする
  • Chrome へ追加 をクリックする
  • Chromeブラウザのアドレスバー右にアイコンが追加されたことを確認しクリックし、 Talend を開く

設定

  • MY DRIVE にカーソルを合わせ、右のボタンをクリックし、Add a project でプロジェクトを作成する
    スクリーンショット 2019-10-19 23.32.12.png

  • 作成したプロジェクト配下に Add a service で大項目を、その配下に Add a request で各APIのリクエストを作成する

    • プロジェクト作成時に作成される Scenario は一旦置いておく
  • 作成したリクエストをクリックし、API実行時に必要なパラメータ METHODHEADERSBODY を設定する

  • 右上の Add an environment で、ローカル、開発、ステージング、本番 などの各環境を追加する

    • Environment name に各環境名を入力する
    • 環境ごとに異なるホスト名などを変数化する
      • 変数はこんな感じ ${host} で使えます!
        スクリーンショット 2019-10-20 0.29.41.png
  • 後はAPIをガンガン追加していく!
    スクリーンショット 2019-10-20 0.33.41.png

  • Send ボタンでAPIを実行し、レスポンスを確認する

    • 下に実行結果が表示される

ある程度作ったら関係者に共有

  • 左下の Export で APIや環境設定をJSON形式で書き出せる(便利!)
  • 同、 Import > Import API Tester Repository からJSONファイルを読み込める(便利!!)
  • 自分用に作って終わりではなく、関係者に共有すればみんなハッピー!

実際に使ってみると

  • クライアントエンジニアの方は特にハッピー
    • 実際にサーバと結合する際、ソースにAPIへのリクエスト内容を組み込んでからレスポンスを確認するのではなく、組み込む前の確認や、各APIを横断的に即座に実行、確認もできるようになった
  • 同様の理由により、API開発側のサーバエンジニアも開発速度が向上した
  • また、(作りにも寄るが)クライアント側の実装前に、値を調整、確認する際にも使えそう
  • テストコードを書く文化はなかったが、これなら楽しい、始められそう!と思った

一方で

  • 開発時期は同時に複数のエンジニアが作業していたため、ある程度のJSONから各自の作業内容のJSONへ分岐していった
    • 結果、最終的なJSONを一人がまとめる作業をしていた
      • JSONはバージョン管理するのがいいかもしれません

  • Talend の他の機能を触っていきたい
  • Jenkins でCI回したい
30
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?