WebdriverIOとJavaを使用したSeleniumに関するフィードバックはありますか?私はジレンマを抱えており、この混乱を解消したいと考えています。
私はWebdriverIOの学習に数日を費やし、いくつかの実践的なことも行いましたが、十分に成熟していないという結論に達しました。デバッグは本当に難しい問題です。
WebdriverIO は、(Selenium 2.0)WebDriver APIのJavaScript/nodejs実装です-多くの(Selendroid、Protractorなど)のうちの1つ specification のとおり:
WebDriverは、ユーザーエージェントのイントロスペクションと制御を可能にするリモートコントロールインターフェイスです。これは、アウトプロセスプログラムがリモートでWebブラウザーの動作を指示する方法として、プラットフォームおよび言語に依存しないワイヤープロトコルを提供します。
Javaを使用する場合、 WebDriverのJava実装 を使用します。どのlanguage、およびどのimplementationを選択するかは、あなた次第です。あなたのスキル、そしてあなたのチームのスキル。
私はWebdriverIOが「十分に成熟していない」ことを非常に疑っています。 WebDriverは、多くの強力な実装を備えた優れた仕様ですが、頻繁に誤用されています。確かに、初心者の限りでは、非常に大きな割合の「ランダム」な失敗は、テストコード内で完全に回避可能な競合状態です。
したがって、Java-Selenium、Serenity、JBehaveテストフレームワーク、次にJavascript WebdriverIO、Mocha、およびYoddaを使用しています。
Javaアプローチの方が理解とデバッグが簡単だと思います。Webサイトのテストはほとんど順次であり、ページ間を移動し、ボタンをクリックして、フォームに記入するだけなので、理解しやすくなります。 JSの代替方法を使用して発生する非同期の問題からあなたを救いますクラスとすべてに固定された構造があるので、デバッグはとてもいいです。
2番目のプロジェクトはバックエンドでNodeJSを使用しているため、テストフレームワークの統合ははるかに簡単でした。テストフレームワークは、展開/開発プロセスの一部となりました。