Javascriptを知っていて、storeExpressionコマンドとstoreEvalコマンドを活用すると結構、記述できます
例えば、下の[個人アドレス帳 - すべて]からAグループ、Bグループ、Cグループを削除したい場合、
フロー制御で1つずつ指定して[グループの削除]をクリックする時、
どうやって各グループを指定しようか?と考えます
そこで、
storeExpressionコマンドで対象にするグループ名を取得します
storeExpression javascript
{ selenium.getText( "//div[@id='dtree-adrTree']/div[@class='clip']/div["
+ storedVars['no']
+ "]" )
}
w
変数wに変数noの示す文字列を取得します
これを使用して、削除対象にする要素のindexを得ます
削除対象のindexを使って、グループ削除を指定するために右クリックメニューを表示します
storeEvalコマンドを使って、contextMenuAtコマンドのlocatorを作成します
storeEval javascript
{ var s =
"//div[@id='dtree-adrTree']/div[@class='clip']/div["
+ storedVars['no']
+ "]";
storedVars['w'] = s;
}
f
これで、
contextMenuAt ${w} 80,120
を実行します
実際のコードは、
contextMenuAt //div[@id='dtree-adrTree']/div[@class='clip']/div[2]
80,120
を実行しています
storeEvalコマンドを実行すると、ログに
script is: //div[@id='dtree-adrTree']/div[@class='clip']/div[1]
を出力します