Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テストに使う Clientは curlから Postmanへ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
NobuhitoMorioka
February 27, 2024
Technology
470
1
Share
テストに使う Clientは curlから Postmanへ
Postman Tokyo Meetup 2024.2での発表資料です。
https://postman.connpass.com/event/307592/
NobuhitoMorioka
February 27, 2024
More Decks by NobuhitoMorioka
See All by NobuhitoMorioka
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
430
Other Decks in Technology
See All in Technology
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
330
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
810
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.1k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
Digitization部 紹介資料
sansan33
PRO
1
7.3k
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
100
DevOpsDays Tokyo 2026 軽量な仕様書と新たなDORA AI ケイパビリティで実現する、動くソフトウェアを中心とした開発ライフサイクル / DevOpsDays Tokyo 2026
n11sh1
0
150
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
3.9k
インターネットの技術 / Internet technology
ks91
PRO
0
160
Azure PortalなどにみるWebアクセシビリティ
tomokusaba
0
370
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.3k
The Journey of Box Building
tagomoris
4
280
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
200
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Become a Pro
speakerdeck
PRO
31
5.9k
Paper Plane (Part 1)
katiecoart
PRO
0
6.6k
Claude Code のすすめ
schroneko
67
220k
Code Reviewing Like a Champion
maltzj
528
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Prompt Engineering for Job Search
mfonobong
0
260
Writing Fast Ruby
sferik
630
63k
Skip the Path - Find Your Career Trail
mkilby
1
110
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Documentation Writing (for coders)
carmenintech
77
5.3k
Transcript
テストに使う Clientは curlから Postmanへ CTCテクノロジー株式会社 森岡 延史
前置き 本日話す内容は私個人の見解や意見に 基づいたものです。 私が所属している会社や組織の公式見解を 代表するものではありません。 この資料の内容は私個人の意見であり、 所属組織とは一切関係ありません。 初めに
自己紹介 名前:森岡 延史(もりおか のぶひと) 所属:CTCテクノロジー株式会社 職種:ハイレイヤー系ネットワーク製品の 社内バックサポート, トラシュー,ベンダー問い合わせ 肩書:エキスパートエンジニア 趣味:サバイバルゲーム
初めに
curlは非常に強力で素晴らしいツールです。 でもそれを一度 捨てて Postmanを 使ってみてはいかがでしょうか。 第一部:curlを使っているけれど・・・ 第二部:Postmanに変えてみた。 第三部:ちょっと変わった(?)使い方 本日話す内容 初めに
第一部:curlを使っているけれど・・・
社名:CTCテクノロジー株式会社 株主:伊藤忠テクノソリューションズ 株式会社(100%) 業務:コンピュータシステムの 設置及びメンテナンス 設計・構築 システム運用管理、障害監視 技術的コンサルティング 技術トレーニング,スクール 所属会社について
第一部:curlを使っているけれど・・・ 全国にサービス拠点 社員数 約1,700名
扱っている製品の例 所属会社について 第一部:curlを使っているけれど・・・ ハードウェア サーバ Cisco、Dell EMC、富士通、HPE、Huawei、IBM、Infoblox、Oracle Sun、Stratus ストレージ Dell
EMC、富士通、日立、HPE、Huawei、NetApp、Oracle、PureStorage ネットワーク A10、ALAXALA、Allot、APRESIA、Arista、Aruba、AVAYA、Brocade、Cisco、Citrix、 F5、Fortinet、Huawei、Juniper、Palo Alto、Radware、YAMAHA セキュリティ BlueCoat、Palo Alto HCI HPE Simplivity、Nutanix NXシリーズ APIにあまり関係ないように見えるかも しれません。
近年、運用統合や自動化, Infrastructure as Code(IaC)といった 文脈で、取り扱っている製品に APIが実装されるようになりました。 その結果、APIの仕様にかかわる質問や 動作のトラブルシューティングに対応する 機会が生まれました。 APIとの関わりについて
第一部:curlを使っているけれど・・・
私が関わっている多くの機器で APIはHTTP/HTTPSで実装されて います。 それらのマニュアルではcurlを使って 操作をする例が書かれています。 curlで動かすことはできるけれど、 curlだとしんどいことも分かって きました。 curlを使ってAPIを触っているけれど・・・ 第一部:curlを使っているけれど・・・
とある製品での設定例
マニュアルからのURLのコピペや、認証で得られるSecretのコピペを 何度もするのがしんどい。 コピペがしんどい 第一部:curlを使っているけれど・・・ メモ帳にコピペ メモ帳でコマンド作成 コピペして実行
毎日APIに関わっている訳ではありません。 いざ触るときにcurlのオプションが分からず、毎回検索していました。 オプションがしんどい 第一部:curlを使っているけれど・・・
検証結果のエビデンスを求められたり別の条件でのテストが必要になると、 記憶を頼りにコマンドを作って再試験していました。 再試験がしんどい 第一部:curlを使っているけれど・・・
ミートアップに参加したことで、テストに使うClientをPostmanに変えました。 ツールを変えよう 第一部:curlを使っているけれど・・・
第二部:Postmanに変えてみた。
Postmanの初期操作 第二部:Postmanに変えてみた。 ユーザー登録をしてログインした状態
Postmanの初期操作 第二部:Postmanに変えてみた。 APIや実施内容ごとに枠組みを作成
Postmanの初期操作 第二部:Postmanに変えてみた。 APIへのリクエストを作成
Postmanの初期操作 第二部:Postmanに変えてみた。 リクエスト内容を作って Sendを押して、テスト実行
実行するリクエストを保存できるので、マニュアルからのコピペの頻度を 少なくできます。 リクエスト保存でコピペ解消 第二部:Postmanに変えてみた。
レスポンスからSecret情報を自動で環境変数に取り込んで再利用できます。 スクリプトでコピペ解消 第二部:Postmanに変えてみた。 レスポンスに対してスクリプトを実行 Secret情報を自動で環境変数に取り込み
レスポンスからSecret情報を自動で環境変数に取り込んで再利用できます。 スクリプトでコピペ解消 第二部:Postmanに変えてみた。 取り込んだSecret情報をリクエストで再利用
使いたいメソッドやヘッダ、ボディを指定する箇所が分かりやすい。 オプションの学習が不要 第二部:Postmanに変えてみた。 メソッドの 選択 ヘッダの設定 ボディの設定
リクエストがHistoryに残るので、内容を参照したり再利用したりできます。 過去の試験内容が見られる 第二部:Postmanに変えてみた。 History機能 過去に送信したリクエストを 読み出して確認可能
リクエストがHistoryに残るので、内容を参照したり再利用したりできます。 過去の試験内容が見られる 第二部:Postmanに変えてみた。 読みだしたリクエストは 送信や保存可能
私のように毎日APIを触るという訳でない 人にとって、curlは再学習コストが高い ツールだと感じました。 Postmanを繰り返し使うことで、 より高い効率化が期待できます。 Freeプランがあるので気軽に使って みましょう。 Postmanを使ってみて 第二部:Postmanに変えてみた。
従来使っていたコマンドをインポートしてPostmanで使えます。 curlコマンドのインポート機能 第二部:Postmanに変えてみた。 コマンドをコピペ
コマンドを自動で解釈してリクエストを作成 curlコマンドのインポート機能 第二部:Postmanに変えてみた。
第三部:ちょっと変わった(?)使い方
HTTP/1.1で実装された機能に Keep-aliveがあります。 1つのセッションの中で複数のリクエストを送信する ものでClientとServer間のやり取りが効率的になります。 一方でServerの設定を変更しても既存セッションでは その変更が反映されず、テストにおいて手動での セッション切断が必要になる場合がありました。 Keep-aliveを無効化する 第三部:ちょっと変わった(?)使い方
HeaderにてConnection closeとすることでKeep-aliveを無効化できます。 Keep-aliveを無効化する 第三部:ちょっと変わった(?)使い方
特定URLへのリクエストにおいてClient証明書と秘密鍵を使う設定を行います。 HTTPSのClient証明書認証を行う 第三部:ちょっと変わった(?)使い方 設定を開きます
第三部:ちょっと変わった(?)使い方 特定URLへのリクエストにおいてClient証明書と秘密鍵を使う設定を行います。 HTTPSのClient証明書認証を行う 証明書の設定を開きます 証明書の追加を開きます
第三部:ちょっと変わった(?)使い方 特定URLへのリクエストにおいてClient証明書と秘密鍵を使う設定を行います。 HTTPSのClient証明書認証を行う 接続先のURLと使用する Client証明書/秘密鍵を指定して 追加
PostmanでClient証明書認証ができました。 HTTPSのClient証明書認証を行う 第三部:ちょっと変わった(?)使い方
設定にて、無効化するTLSバージョンや使用するCipherの限定ができます。 HTTPSで使用するTLS/Cipherを指定する 第三部:ちょっと変わった(?)使い方
設定にて、無効化するTLSバージョンや使用するCipherの限定ができます。 HTTPSで使用するTLS/Cipherを指定する 第三部:ちょっと変わった(?)使い方 この場合 TLS1.1を使い、 CipherはRSA関連を使う
PostmanをAPIのテストをする ツールとしてだけでなく、 HTTP/HTTPSを柔軟に扱える ツールととらえると、 利用できるシーンが増えます。 本日紹介した内容はあくまでも一例です。 Postmanを利活用しましょう。 Postmanが使えるのはAPIに対してだけじゃない 第三部:ちょっと変わった(?)使い方
ありがとうございました。