14
4

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-12-04

この記事は、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さんの投稿になります。

14
4
1

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
14
4