Help us understand the problem. What is going on with this article?

Talendで始めるREST APIテスト

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回したい
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away