こんにちは、Zaco shinです
同じ作業を繰り返すのに便利なのがSelenium。ファイルに記述している変数を取り込んで繰り返し処理を実施したいと思い、便利なコマンドがあったので、紹介しておきます。
Contents
私がやりたかったこと
繰り返しやりたかったことは、色んなユーザでログイン処理を失敗するということです。別に悪い事やっている訳じゃないんです。こいつ嫌いだからアカウントロックして困らせてやれ!とか思ってないです。
ForJsonコマンドで出来そうだ。
いろいろ調べるとForJsonコマンドでできるようなので、さっそく事前準備。
※ForJsonを使うにはSelBlocsプラグインが必要なので、インストールを行います。
事前準備:SelBlocsプラグインをFirefoxにインストール
FireFoxでSelBlocsをインストールする画面に飛んで、[Add to Firefpx]を押してインストールします。
あとはブラウザ再起動して終了です。SeleniumIDEを開いて、コマンドの部分にforJsonが出てくると思います。
これでインストール終了です。このプラグインはif~elseとかwhile~loopとかも使えるようです。また使ったときに記事にしますね。今回はJsonファイルを読み込んでますが、xmlも読めるようです。
ファイルを読み込んでログイン処理を繰り返し行う処理
今回は下記の流れの処理にしました。
①対象のサイトを開く
②jsonファイルを読み込む
③ファイル内にある変数userid、passwordをページのユーザIDとパスワード欄にtype
④ログインを実施
それをforJsonコマンドでjsonファイルに記述した分だけ繰り返してくれます。
実際にSeleniumIDEに記載する内容だと以下のような感じです。
コマンド | 対象 | 値 |
open | 対象のURLを指定する | |
forJson | file://C:\Users\Desktop\zacodesign.json | |
type | name=j_username | ${userid} |
type | name=j_password | ${password} |
clickAndWait | id=btn_login | |
verifyTextPresent | ユーザIDまたはパスワードが誤っています。 | |
endForJson |
ちなみにjsonファイルは以下のような感じになっています。
[ {"userid":"zaco", "password":"zaco"}, {"userid":"design", "password":"design"}, ]
プログラミングしなくても簡単にできるので便利だなーと改めて感じました。。