ITツールの機能紹介-SeleniumIDEの技術開拓 ダウンロード処理をした後も検証を継続させる方法-
つ~じ~です。どうやら自分、2023年のハマログ投稿皆勤賞を達成していたらしいです。社内で受賞しました。毎度毎度ネタが無いネタが無いと嘆いていましたが思った以上に何とかしていたみたいです。
今もぶっちゃけネタもうねぇよぉ…って内心思ってますが、今年もハマログ皆勤賞目指して頑張りたいと思います。
さりとて本気でネタは枯渇してますので(汗)、今回はシンプルに以下の件だけご紹介しようと思います。
SeleniumIDEでダウンロード処理をした後も検証を継続させる方法
某PJで「ダウンロードボタンを押してCSVファイルを取得する」検証をSeleniumIDE自動テストに組み込んだところ、
ダウンロードボタンを押した後に自動テストが進行できなくなる問題 が発生しました。
恐らくですが、ブラウザのダウンロード処理が発生したのと同時に処理の主導権がダウンロード処理の方に移ってしまい、元のブラウザ処理に戻れなくなってしまったのだと思われます。
「select window [メインのタブ名]」や「window.focus();」などで
元のブラウザにフォーカスを戻すような処理も挟んでみましたが、うまくいきませんでした。
そんな時は、(少し強引なやり方ではありますが)以下の流れで対応可能となります
対応方法
1.CSVダウンロード処理を行うページを自動テストで開く
2.store window handleコマンドでメインタブにタブ名を付ける(名称は任意、下の画像参照)
3.execute scriptコマンドの「window.open(“”,”_blank”)」で 新規タブ を作成する
3.Commandフォームの右にあるのボタンを押してオプションを開き、以下の画像の通り「New Window Configuration Enabled」にチェックを入れ、「1. WINDOW NAME」に任意のタブ名を設定する。
タブに名前を付けておけば「select window [タブの名前]」でタブの切り替えができるようになります。
4.「select window [サブのタブ名]」で新規タブに移動し、新規タブの方で手順1と同じCSVダウンロードページを開く。
5.CSVダウンロードを実施
6.ダウンロードを終えたら「select window [メインのタブ名]」を実行して タブを移動 させる
こうすることで、その後も自動テストを継続させられます。
「メインのタブでCSVダウンロード→サブの新規タブに移動」でもOKです。
要は「CSVダウンロードを行ったタブは自動テスト処理続行不可になるので、別のタブに移動しちゃいましょう」という事です。ちょっと強引なやり方ですが…
荒業使ってでも社会の荒波を乗り越えていきましょう!(強引なオチ)
今回はこれにて。