Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@tkani

Postmanで301リダイレクトをテストしてみる

この記事は、ZOZOテクノロジーズ #4 Advent Calendar 2019 5日目の記事になります。
昨日は、@tkani さんの「spring-graal-nativeでSpring BootをGraalVM native imageにしてみる」でした。

本記事では、Postmanを利用した301リダイレクトのテストについてご紹介します。

はじめに

Webサイト開発でURLが変わることってときどきありますよね。
「旧URLでのアクセスがある程度想定されるので301リダイレクトさせてください。」
といった感じで。そんなときは手軽にテストケースが作成でき、回帰テストにも利用できるPostmanをおススメです。

301リダイレクト

301リダイレクトについておさらいします。
WSCWikipediaのHTTPステータスコードをみると、301 Moved Permanentlyと記載されています。つまり恒久的な移動です。
恒久的とは「いつまでもその状態が続くさま」になります。goo国語辞典より

Postmanとは

PostmanはPostman,Incが開発し、800万人の開発者と40万以上の企業が利用しているAPIのテストツールです。800万人の開発者が利用しているってかなりすごいですね。
image.png

テスト

301リダイレクトのテストにはいろいろな方法があると思いますが、Postmanを利用して301リダイレクトのテストをしてみます。

設定

まずSettingsにあるAutomatically follow redirectsをOFFにします。
こうすることでStatus codeが301の場合を判断できるようになります。
※DefaultはONで設定されています。
image.png

テストパターン

ここでは下記の簡易的なダミーURLをテストパターンとして利用します。
aaaがbbbに変わった想定ですね。

・301リダイレクト対象のURL
https://xxxx.jp/aaa/bbb/?ccc=1
・301リダイレクト先のURL
https://xxxx.jp/aaa/eee/?ccc=1

テストケース

テストケースには下記の2つをチェックするテストコードを記述します。

  • Status codeが301か?
  • 指定のURLへリダイレクトしているか?
console.log("Redirect URL:[" + pm.response.headers.get("Location") + "]" )

pm.test("Status code is 301", function () {
    pm.response.to.have.status(301);
});

pm.test("Body matches string", function () {
    pm.expect(pm.response.headers.get("Location")).to.include("/aaa/eee/?ccc=1");
});

Postmanの画面イメージはこんな感じです。
URL入力欄に「 https://xxxx.jp/aaa/bbb/?ccc=1 」を入力し、Sendボタンをクリックすることでテストが実行されます。PSAAと表示されればテスト結果はOKです。
※画像はダミーURLのためFAILと表示されていますので、ご注意ください。
image.png

便利機能

左下のPostman Consoleをクリックすることでコンソール画面を表示し、ログの確認が可能です。
image.png

ログはconsole.log("xxxx")とコーディングすることでコンソール画面に出力されます。
image.png

おわりに

Postmanを利用するととても簡単にテストが実施できましたね。
複数のテストケースを連続して走らせることも可能なため、ちょっとしたテストをするときはとても便利です。
慣れてくるとUI上でのテストが煩わしくなってきますので、そんなときはPostmanのコマンドラインツールであるNewmanがおススメです。

明日のZOZOテクノロジーズ #4 Advent Calendar 2019 6日目は、@yskurさんの投稿になります。

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
4
Help us understand the problem. What are the problem?