わかりました、何かが足りないかもしれませんが、Selenium の要点が本当にわかりません。コードを使用してブラウザを開き、コードを使用してボタンをクリックし、コードを使用してテキストをチェックするポイントは何ですか? Web サイトを読んで、理論的には Web アプリケーションを自動的に単体テストするのが良いことを理解しましたが、最終的には、クリックして動作を視覚的に確認するだけでなく、このすべてのコードを記述するのに時間がかかるだけではありません。 ?
理解できません...
わかりました、何かが足りないかもしれませんが、Selenium の要点が本当にわかりません。コードを使用してブラウザを開き、コードを使用してボタンをクリックし、コードを使用してテキストをチェックするポイントは何ですか? Web サイトを読んで、理論的には Web アプリケーションを自動的に単体テストするのが良いことを理解しましたが、最終的には、クリックして動作を視覚的に確認するだけでなく、このすべてのコードを記述するのに時間がかかるだけではありません。 ?
理解できません...
同じテストを何度でも繰り返すことができるからです。
Seleniumは、Webアプリケーションをテストするために行うすべての手動クリックと入力を記録して再実行します。何度も。
時間が経つにつれて、私自身の研究は、私がより少ないテストを行い、いくつかをスキップし始めるか、それらを忘れる傾向があることを私に示しました。
Seleniumは、代わりに各テストを実行して実行します。期待どおりの結果が得られない場合は、通知することができます。
これらすべてのテストを記録するには、事前に時間のコストがかかります。単体テストのように推奨します。まだ持っていない場合は、コードの最も複雑で、扱いにくい、または最も更新された部分で使用を開始してください。
Selenium(およびWatirなどの同様のツール)を使用すると、コンピューターが得意とする方法で、Webアプリのユーザーインターフェイスに対してテストを実行できます。夜間に数千回、またはすべてのソースチェックイン後数秒以内です。(テストに直接関係のない奇妙なことが間違っていることに気付くなど、人間がはるかに優れているUIテストピースは他にもたくさんあることに注意してください。)
WebratやMechanizeなど、ブラウザを起動してレンダリングするのではなく、生成されたHTMLを確認することで、アプリのスタック全体を関与させる方法は他にもあります。これらのほとんどには、JavaScriptを多用するUIと対話する方法がありません。セレンはここでいくらかカバーしています。
なぜセレンが必要なのですか?テスターは人間だからです。彼らは毎日家に帰り、いつも週末に働けるとは限らず、病欠を取り、祝日を取り、時々休暇をとり、繰り返しの仕事に飽き飽きし、必要なときに常にそばにいてくれるとは限りません.
テスターを排除すべきだと言っているわけではありませんが、自動化された UI テスト ツールはシステム テスターを補完します。
(多くの GWT プロジェクトのように) リッチ Web インターフェースを備えたアプリケーションの場合、Selenium/Windmill/WebDriver/etc は受け入れテストを作成する方法です。GWT/GXT の場合、最終的なユーザー インターフェイス コードは JavaScript で作成されるため、通常の junit テスト ケースを使用して受け入れテストを作成することは基本的に問題外です。Selenium を使用すると、実際のユーザー アクションと期待される結果に一致するテスト シナリオを作成できます。
Selenium での私の経験に基づいて、アプリケーション ロジックとユーザー インターフェイスのバグを明らかにすることができます (テスト ケースが適切に作成されている場合)。AJAX フロント エンドを処理するには、追加の作業が必要ですが、それでも実行可能です。
同じことを何度も入力する負担がなくなるので、複数ページのフォームをテストするために使用します。そして、特定の要素が存在するかどうかをチェックする機能を持つことは素晴らしいことです. 繰り返しますが、フォームを例として使用すると、最終的なセレン テストで、注文プロセスの最後に「ご注文いただきありがとうございます。