ホール*オブ*アス

断続 断裂

Selenium IDE でユーザーからの入力を受け取って変数に代入する

界隈ではお馴染みSelenium IDEですが、テストを作るのではなく単純にフォームにデータを入力してPOSTしたいケースが出現しました。

・入力をその場で個別に行いたい箇所があった(一律の文言では機能しない部分があった)
Selenium IDEを使ったことがない人でもボタンをひとつふたつ押し、ちょっとキーボードを叩けば使える必要があった
Chromeで使いたかった

ので

ChromeSelenium IDEで入力をプロンプトで受け取り、それを変数に代入して使っていく方法をさがしてたが
1時間位は調べたけどSelenium IDE周りの動きがめちゃくちゃだったんでなかなか情報が見つけられなかった。

(本当は使い慣れたiMacrosでやりたかったんだけど、しばらく見ないうちに有料化されており無理)
(無料で使えないことはない、Firefoxでバージョンを落として昔のiMacrosを使えばよい)(FirefoxのiMacros旧版はjavascriptも使えて便利よ)

結果答えは簡単だったんだけど、こんな感じで書く。

Command -> execute script
Target -> return prompt(“入力してください“, “”)
Value -> foo

f:id:t_lav95:20190202193224p:plain
selenium IDE で ユーザーからの入力を変数に代入する

とすると、プロンプトで入力したリテラルがfooに代入され、${foo}って形で後から取り出せる。

RPAっていうとちょっと大げさだけど、ボタンを一つ押すだけで終わる作業を数分かけてやるなんて楽しいことではないですよね。