はじめに
-
公式ブログでもあるように最新のFirefoxでSeleniumIDEが利用できなくなっています
- Selenium IDEの起動自体は上手くいきますが、テストファイルの読み込みやテストの記録/作成など何もできません
- 対処法としてはFirefox ESR版の入手かブラウザバージョンを下げるかの2択です
-
@hiroshitoda さんの2016 Seleniumゆく年くる年でもありましたが、このままだとFirefox57からSeleniumIDEが使えなくなります
- そこで同じようなことができるツール Kantu for Chrome で何がどこまでできるのか調査してみようと思いました
Kantu for Chromeとは
- Kantu Browser Automation for Chrome
- 馴染みの深いSeleniumIDE(Firefox のアドオン)のChrome版のようなもの
- インストールはこちら
今回検証すること
- Selenium IDEと比べて
- 同じような機能があるのか?
- 使えるコマンドは?
- 実際使ってみてどうだった?
Selenium IDEと同じような機能があるのか?
テストスイート/テストケースのインポート
テストの記録/再生
- SeleniumIDEと同様にテストの自動記録ができます
- 日本Seleniumユーザーコミュニティのテスト用サイトを開き、 http://example.selenium.jp/reserveApp/ のクリックはできたが、 別タブで開いたページでは記録がされない
使えるコマンドは?
-
Kantu for Chrome Welcome!には以下のように書いてありました
- SeleniumIDEと同様にSeleneseコマンドをサポートしている
- まだLight版なのでSeleniumIDEのようにコマンドが充実しているわけではないが、これから徐々にSeleniumIDE相当に開発が進んでいく可能性がある
- 1ヶ月ほど前に記事を書き始めましたが、その頃はなかったコマンドが 2017/09/20 現在いくつか追加されていました => 開発が進んでいる感じですね^^
- 1ヶ月ほど前に記事を書き始めましたが、その頃はなかったコマンドが 2017/09/20 現在いくつか追加されていました => 開発が進んでいる感じですね^^
-
getEval
のようなjavascript系の操作はできなさそう
コマンド一覧
SeleniumIDEで馴染みのあるコマンドがほとんどでした
- click
- clickAndWait
- open
- pause
- type
- select
- selectAndWait
- selectFrame
- assertAlert
- assertConfirmation
- assertPrompt
- waitForPageToLoad
- answerOnNextPrompt
実際使ってみてどうだった?
- 単純な操作をするには利用できそうだが、書いていて今一歩と感じるシチュエーションは結構ありそう
-
store
による変数の扱いやgetEval
などのjavascript系の操作もできないためできることは限定される- SelBlocksのようなif/forなどの条件分岐を導入することはできなさそう
-
公式にも
Need a specific feature added? => Let us know! We can only add features and fix bugs that are reported to us.
とあるのでこれからに期待できるのでは!
個人的には・・・
- selenium-webdriverを利用するには以下のような開発環境の構築が必要なります
- ブラウザのインストール
- (必要に応じて)ドライバインストール
- テストコードの作成
- テストを動かすための設定ファイルなどの作成
- そのため、自動テストを組むならSeleniumIDEがお手軽という点では一番かもしれません
- ただ、kantu for Chromeの使い心地を考えると、今はdockerを利用すればその少々面倒な手間もかからないのでdockerでいいのでは!と思いました
- 公式にもイメージがありますし、以下のように自分でDockerfileを作ってみたり
- Ex) https://github.com/RustyNail/docker-selenium
- ブラウザ/ドライバのインストールもされているため、DLして
docker-compose up
するとすぐに動きます