2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Selenium/AppiumAdvent Calendar 2015

Day 13

SeleniumIDEでリダイレクトのテストをする

Last updated at Posted at 2015-12-12

この記事は移行しました!最新の内容はこちらをご覧ください😀

はじめに

みなさん、リダイレクトのテストどうやってますか?

静的なHTMLページを動的システムに乗せかえたり、古いシステムのリプレイスなどでURLが変わることありますよね。
でも、ページランクは引き継ぎたいので『旧URL→新URLへ301リダイレクトしよう』というのは結構あるあるかと思います。

数ページであればブラウザに旧URLを貼って、新URLに飛ぶこと確認してOKとなりますが、
対象ページが数100~存在したりすると全部見るのは大変・・・。
ましてや開発環境、ステージング、本番と環境毎に確認するとなると涙が出てきますよね?

そんな時、私はSelenium IDEを使ってテストしています。

Selenium IDEとは

Selenium IDEって何?という人はこちら。
5分でわかるSelenium IDEの使い方

テストケースはこんな感じ

コマンド 対象
1 store 【旧URLのドメイン】 before
2 store 【新URLのドメイン】 after
3 open ${before}【旧URLのパス】
4 assertLocation ${after}【新URLのパス】

解説

1,2:旧と新のドメイン部分を変数に格納してます。環境毎にテストする際はここを書き換えるだけ。
3:openでURLにアクセスします。
4:3でopenしたあとリダイレクトしているはずなのでassertLocationでリダイレクト先URLが正しいかを判定。
※あとは3,4をコピペしてリダイレクト対象分増やせばOK。(Excelやプログラム組むなど工夫して作るとGood!!)

サンプル

百聞は一見に如かず ということで実際にやってみましょう。
ここでは「短縮URL→Qiita記事URLにリダイレクト」を例にします。(旧→新のいいサンプルがなかったので…)

の3つのリダイレクトをテストしますよ。
下記をコピーしてテキスト保存してSeleniumIDEのテストケースを開くで試してみてください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
<title>sample</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">sample</td></tr>
</thead><tbody>
<tr>
	<td>store</td>
	<td>http://goo.gl</td>
	<td>before</td>
</tr>
<tr>
	<td>store</td>
	<td>http://qiita.com</td>
	<td>after</td>
</tr>
<tr>
	<td>open</td>
	<td>${before}/hmegpd</td>
	<td></td>
</tr>
<tr>
	<td>assertLocation</td>
	<td>${after}/naoqoo2/items/413dfa0aa01e9f294c53</td>
	<td></td>
</tr>
<tr>
	<td>open</td>
	<td>${before}/MQq30f</td>
	<td></td>
</tr>
<tr>
	<td>assertLocation</td>
	<td>${after}/naoqoo2/items/90d382cd9370d3526509</td>
	<td></td>
</tr>
<tr>
    <td>open</td>
    <td>${before}/PcvbKP</td>
    <td></td>
</tr>
<tr>
    <td>assertLocation</td>
    <td>${after}/naoqoo2/items/bb02d790be8fd7fe6554</td>
    <td></td>
</tr>
</tbody></table>
</body>
</html>

さいごに

いかがでしたでしょうか?
これでブラウザに直接URLを貼り付ける面倒なテストとはおさらばです。
コーヒーでも飲みながらブラウザが自動でテスト完了してくれるのを優雅に待ちましょう。

それではステキなSeleniumIDEライフを。

2
2
0

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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?