3

私は Selenium を初めて使用し、IDE を使用して約 1 週間過ごしました。ここまでは順調ですね。ただし、アプリケーションの他の部分には重いドラッグアンドドロップ機能が含まれており、それについてはよくわかりません...これが私の質問につながります...IDEができない特定の種類のWebDriverができることは何ですか行う?私は Selenium のフロント ページを読み、WebDriver がより「堅牢な」テストを作成できることを知っていますが、このコンテキストで堅牢が何を意味するのか完全にはわかりません。より長いです?より多くの機能?

私が探しているのは、IDE では実行できなかった WebDriver で実行できる特定のテストの種類は何ですか? また、ドラッグアンドドロップに関連するものはありますか? これにより、IDE を使い続けるか、切り替えるかを決定できます。テストをたくさん作ってから切り替えるよりも、最初から何かを使ったほうがいいと思います。

よろしくお願いします。

4

2 に答える 2

4

選択した言語のすべての機能を使用できます。たとえば、IDE を使用すると、IDE の API を使用することに固執しますが、WebDriver を明示的に使用することを選択した場合は、それを C# と組み合わせて、C# の全機能 (LINQ など) を使用できます。

IDE コマンドのいくつかは、WebDriver で直接変換されません。

純粋な WebDriver テストを CI (Continuous Integration) サーバーに統合できます。

Firefox だけに限定されているわけではありませんが、IDE はそうです (IDE は Firefox でのみ使用できるため)。

Selenium をより簡単に改善および拡張できます。たとえば、拡張メソッドと継承を使用します。(たとえば、Selenium を拡張して、要素が見つからないときはいつでもページのスクリーンショットを取得するようにします)

IDE は要素を見つけるための最も信頼できる方法を常に提供するとは限らないため、より堅牢になります。たとえば、必要な要素がテーブル内にネストされている場合、IDE が提供する XPath は、特定のテーブルの行とセルを直接推測します。

たとえば、次のようなものです。

//table[1]/tr[1]/td[2]/table[1]/tr[1]/td[3]/a[1]/b

世界で最も信頼できる XPath ではありません。XPath や自動化されたテスト、または Selenium のしくみについての知識がない人は、それに固執し、この XPath クエリが失敗する理由を理解するために何時間も無駄にします。他の人はそれを変更し、XPath を基本クエリとして使用します。

IDE は通常、プログラミングの知識があまりない人 (一部のテスターなど) に使用する必要があります。自分の開発者やテスト開発者に Selenium を使用してもらいたい場合は、WebDriver を直接使用してください。スクリプトではなく、本格的な言語を使用したプログラミングのように感じられます (結局のところ、IDE が生成するスクリプトは純粋な HTML ファイルです)。このアイデアは、一般に、プログラミングの知識があまりない人が単に「再生」を押して、Selenium に作業を任せることを目的としています。

ドラッグ アンド ドロップは、IDE および WebDriver 内で適用できます。

Selenium での開発のほとんどは (どうやら) WebDriver コードの拡張に費やされており、IDE はいくつかの新機能で取り残される可能性があります。

WebDriver を直接使用すると、単体テスト フレームワーク (通常は C# を使用する NUnit または Java 用の Junit/TestNG) の全機能を使用することもできます。これにより、ブラウザーごとにテストを繰り返したり (つまり、Chrome、Firefox、IE でテストを繰り返したり)、テストの前後に特定のロジックを定義したり (つまり、ユーザー メンバーシップの追加、ユーザーの作成、他のテスト データの設定) したりすることができます。

他の開発者は、スクリプト言語ではなくプログラミング言語を使用している場合 (つまり、WebDriver はプログラミング言語でプログラムされており、IDE スクリプトは単なる HTML ファイルです) を支援する傾向があります。これをソリューションに組み込み、夜間のビルド プロセスの一部として使用することで、開発者がテストの進行を確実に支援できるようになります。

考えてみると、別の例として、バグは修正されましたが、テストが失敗する原因となる新しいバグが導入されています。テストを修正する責任は誰にありますか? あなたか彼らか?WebDriver を直接使用すると、Selenium のソース コードを調べて、API の使用法を自分で把握できます。IDE では、これは文字どおり、何らかの javascipt を呼び出す HTML ファイルです。それに関するドキュメントはあまりありません。

要約すると、プログラミングの経験があまりない場合は、言語を学んで WebDriver を直接使用するか、IDE を使い続けるかのどちらかです。どちらかが仕事をします。

于 2012-09-29T23:58:10.190 に答える
0

IDE は本格的な自動化には使用できません。API を学び、それを Java/C#/Python で使用することをお勧めします。それは、いくつかの優れた自動化を生み出すのに役立ち、非常にうまく回収できます.

IDE を使用して、コードがどのように生成されるかをいつでも学習できます。

于 2012-10-02T14:31:24.860 に答える