$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テストに使う Clientは curlから Postmanへ
Search
NobuhitoMorioka
February 27, 2024
Technology
1
440
テストに使う Clientは curlから Postmanへ
Postman Tokyo Meetup 2024.2での発表資料です。
https://postman.connpass.com/event/307592/
NobuhitoMorioka
February 27, 2024
Tweet
Share
More Decks by NobuhitoMorioka
See All by NobuhitoMorioka
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
390
Other Decks in Technology
See All in Technology
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
420
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
490
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
210
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
180
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.5k
学習データって増やせばいいんですか?
ftakahashi
2
490
.NET 10の概要
tomokusaba
0
120
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.9k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
240
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Six Lessons from altMBA
skipperchong
29
4.1k
We Have a Design System, Now What?
morganepeng
54
7.9k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Building Applications with DynamoDB
mza
96
6.8k
It's Worth the Effort
3n
187
29k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Being A Developer After 40
akosma
91
590k
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に対してだけじゃない 第三部:ちょっと変わった(?)使い方
ありがとうございました。