4.1. Flow Control - Goto and While Loops
制御構造を記述できる拡張スクリプトである。
この拡張スクリプトはSeleniumIDEで実行する。Selenium2に移行する際には、コメントアウトされるが、試験手順の参考になる。
● while文の使い方
全てのメールを移動する為に、タイトル一覧に表示されている送信済みタイトルのチェックボックスにチェックする
送信済みタイトルをカウントする。
verifyXpathCount
|
xpath=(//input[@name='mid'])
|
cnt1stSend
|
verifyXpathCountコマンド:xpathの検証とカウントを行うコマンド
全ての対象にチェックを行う
storeEval
|
javascript{storedVars['cnt1stSend']}
|
n
|
while
|
storedVars['n'] > 0
|
|
click
|
xpath=(//input[@name='mid'])[${n}]
|
|
storeEval
|
javascript{storedVars['n']-1}
|
n
|
endWhile
|
|
|
● gotoif文、goto文、label文の使い方
受信箱のメールを全て削除後、トップページに戻る
clickAndWait
|
link=regexp:受信箱*
|
|
label
|
AllCheck
|
|
storeTextPresent
|
[#]次ページ
|
flg
|
storeXpathCount
|
xpath=(//input[@name='mid'])
|
cnt
|
storeEval
|
javascript{1}
|
n
|
while
|
storedVars['n'] <= storedVars['cnt']
|
|
click
|
xpath=(//input[@name='mid'])[${n}]
|
|
storeEval
|
javascript{storedVars['n']+1}
|
n
|
endWhile
|
|
|
while
|
storedVars['n'] <= storedVars['cnt']
|
|
select
|
name=operation
|
label=削除
|
clickAndWait
|
css=input[type="submit"]
|
|
gotoIf
|
storedVars['flg']==false
|
AllDelete
|
goto
|
AllCheck
|
|
label
|
AllDelete
|
|
clickAndWait
|
link=トップページ
|
|
4.2. RollUpコマンド
複数のコマンドを組み合わせ、1つルールとして使用できるコマンドのこと。
RollUpコマンドは、Javaソースに変換すると、SeleniumAPIとして作成するが、自作コマンドであるため内容は移行しない。その内容を使用したい場合には、移行後に改めて自作する。
下記にuser-extensions.jsでの例にて使用方法を説明する。
メニュー[オプション] 一般タブのSelenium Core拡張スクリプト(user-extensions.js)のパスに設定する。
[リロード]ボタンは、同じタブにある「アクティブに開発者向けツール」をチェックすることで使用できる。スクリプトの再読み込みを行うので編集しながらテストを行うことができる。
また、アイコンメニューからもリロードできる。図4の赤丸で囲んだアイコンをクリックする。
コマンドフィールドにRollupを入力すると複数のルールがある場合、対象フィールドで登録しているルールのリストを表示する。
● 定義の仕方
例を使って説明する。
例.タイトル一覧のどのページにも必ず存在するリンクを検証する為、Rollupコマンドを作成し、ルール名をverifyTitleListとする。
① RollupManager()でRollupコマンドを使用可能にする。
② manager.addRollupRuleでRollupコマンドで使用するルールをRollupManagerに登録する。登録できた場合、IDEの対象フィールドでの一覧に表示する。
manager.addRollupRuleのname:でルール名。expandedCommands:でコマンド群。
スクリプト内容
var manager = new RollupManager();
manager.addRollupRule({
name: 'verifyTitleList'
, description: 'Veryfy title list'
, args: [ { name: 'text', description: 'common text of title list' } ]
, commandMatchers: [ ]
, getExpandedCommands: function(args) {
var commands = [];
commands.push({ command: 'verifyElementPresent' , target: 'link=[0]メニューを表示' });
commands.push({ command: 'verifyElementPresent' , target: 'link=作成' });
commands.push({ command: 'verifyElementPresent' , target: 'link=検索' });
commands.push({ command: 'verifyElementPresent' , target: 'link=受信' });
commands.push({ command: 'verifyElementPresent' , target: 'link=全てを既読にする' });
commands.push({ command: 'verifyElementPresent' , target: 'link=トップページ' });
commands.push({ command: 'verifyElementPresent' , target: 'link=ログアウト' });
return commands;
}
});
|
● 実行コマンド
IDEでは下図の様に入力する。下側ウィンドウのRollupタブに定義内容のdescriptionを表示する。
0 件のコメント:
コメントを投稿