なんとなく使って便利だったから書いておく。
仕事でSeleniumをたまに使います。
参考
SeleniumHQ Browser Automationselenium.dev
だいたいテストケース作って使用しますが、
ブラウザ上で繰り替えし操作するときに使うと便利です。
Chrome拡張機能
適当にインストールしてください。
https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd?hl=ja
サンプル
やりたいこと
画面操作で全レコード削除したい
操作の記憶
ChromeからSelenium IDEを起動。
「Record a new test in a new project」をクリック。
URLを設定して、STARTをすると記録が開始されちゃうので、いったんCANCELボタンを押します。
URLを入力して、START RECORDING を押します。
そうすると新しいウインドウが表示されるので、記録したい動作を行います。
終わったら、Selenium IDEに戻って、停止アイコンを押します。
TEST NAMEを設定して、終了です。
いらない手順が記録されてる場合は削除。
私の場合はウィンドウサイズの変更が記録されたので削除しました。
そして記録されたのは3行。
レコード数が多いので、繰り返し実行するのは面倒なのでループを組み込みます。
操作がちょっと独特です。3行目の下をクリックして
下のCommandを設定すれば新しい、操作が追加されます。
times コマンドを追加。Targetはループする回数を指定。
他の言語でいうForループみたいなもんです。
更にendコマンドも追加
これでループが完成したので、繰り返し処理したい操作をtimes ~ endの中に入れます。
今回は一覧で削除をクリックして、詳細で実行ボタンを押す処理を繰り返します。
実行結果
プロジェクトファイルの保存
ここまで実行したらプロジェクトファイルを保存しましょう。
右上の保存アイコンからプロジェクトを保存できます。
※プロジェクト名を日本語にするとバグるときがあるようです。
※拡張子は「side」で保存してください。開けなくなります。
GeneXusのSmoothの場合
GeneXusのSmoothの場合、画面遷移の部分でうまくいかない可能性があります。
その場合は次の画面でメッセージが表示されたか確認を入れます。
まとめ
関連テーブルが多かったりして、SQLのDELETEだけだとうまくいかないけど
画面から削除したい場合はこの方法が便利です。
以上です。