🍣

IDEのsideファイルを使ってテスト実行:令和時代にSelniumでIEを動かす(3)

2021/08/21に公開

IDEの保存データ.side

関連記事:
令和時代にSelniumでIEを動かす(1)
クリックが動かない:令和時代にSelniumでIEを動かす(2)
令和時代にSelniumでIEを動かす(3)


------------------- ↓ 前書はここから ↓-------------------

[Selenium]を使う上でSelnium IDEのは必須で、
機能は不十分ながらも、
そこそこ使えるし分岐やループなんかも扱える。

(´-`).。oO(だったらそのまま動かしゃいいんじゃね?)

通常IDEでシナリオを作成して、
JavaやRuby, Javascriptにエクスポートして使用する。
Selnium IDEはデータ保存にjsonベースの.sideというファイルを扱うのだが、
sideファイルのまま動かせばええやんってなったわけだ。

これを直接実行するものがある。
それが

selenium-side-runner

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

SeleniumIDEをインストール

chromeやfirefox, edgeの拡張機能があるのでそれをインストール

https://www.selenium.dev/selenium-ide/

IDEでシナリオ作成

IDEを起動してテストスイート名と初期アクセスURLを入力すると、
テスト記録モードになる。
ブラウザで適当に操作すると一つ一つ記録されるので、
気が済むまで操作し終わったらrecord停止。
テスト名を入力して、フロッピーマークを押すとファイル保存できる。

テストランナーをインストール

npm i -D selenium-side-runner -f
npm i -D iedriver selenium-webdriver mocha

.side.ymlファイルを作成

プログラムコードと違いsideファイルでは、
テスト内部でブラウザの設定を変更できない
なので、起動するときに一括で変更する。
コマンドラインでも可能だが設定ファイルがあるのでそれを使う。
.side.yml という名称なら初回起動時に自動で読み込まれる。

.side.yml
capabilities:
  browserName: "internet explorer"
  version: 11.0
  platform: "Windows 10"
  ie.options:
    nativeEvents: false
    requireWindowFocus: true

ブラウザごとに違うファイル名にして起動時に読み込ませるのが良い

保存ファイルをテストランナーで動かす

保存ファイルは~.sideというjsonベースのデータ。
それをテストランナーに読み込ませる

npx selenium-side-runner

------------------- ↓ 前書はここから ↓-------------------

selenium-side-runnerは古い

だいぶメンテナンスがされなくなったようで、
関連パッケージのバージョンが古すぎてエラーになることがある。
forcedインストールしてるのはその辺が理由なのだが。

Discussion