2014年10月20日月曜日

Javascriptを知っていれば、結構、記述できます

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] 
を出力します

0 件のコメント:

コメントを投稿