2009-04-22 14 views
4

いくつかの方法でウェブサイト上の特定のフィールドを検索することができます.css、name、id、structure、見つかったテキストをベースにしています。 あなたはどちらの方法で使用することにしましたか?セレンのテストにはどのような属性を使用しますか?

何がベストプラクティスですか?

編集:私は開発者の観点から求めている: の方法によりセレンをテストすることが容易になるというコードを作成する方法(つまり:それの名前でそれらのすべてを検索することができること)

答えて

3

私たちは一般にxml構造から遠ざかります。これは、あまりにも脆弱なテストを生成することになります。私たちの内部組織は、設計者が操作するために、CSS名を制限しません。誰かが見出し1から見出し2にスタイルを変更するため、テストを中断したくない。

私たちは、主にidに基づいた解決策を選択しました。ときどき、私たちはIDだけでHTMLを計測して、セレンテストを行うことができます。

また、テキスト(アプリケーションテキスト)も検索しますが、国際化によってこれは少し苦労します。私たちはテストフィクスチャをロケールに対応させました。

2

覚えていれば、ほとんどの場合、IDはほとんど常に最適です。

2

私は 'id'または 'name'属性を探すXPath式を好む傾向があります。

しかし、IE6で定期的にテストを実行する場合は、ロケータ式にXPathを使用することに注意してください。 XPathは、IE6ではそれ以降のバージョンやFirefoxと比較して著しく遅く動作します。私はIE6で完了するのに3時間以上かかる、かなり大きなSeleniumRCテストスイートを持っています.Firefoxの1時間と比較します(その時間はすべてXPathに起因するものではありませんが、それは大きく貢献します)。

2

私は他のオプションを発見しました:独自の属性を作成し、この属性に基づいてxpathを生成するためのSelenium IDE用のjavascript関数をビルドします。それは難しいことではなかった:)

それはそんなに簡単にテストを作成し、維持します(突然のdivになっスパンとき;))

0

あなたのコード全体idを使用してください作成することは非常に役立ちます!その要素がspanからdivに変わったとしても、idは一貫しています。 'name'はidと似ています。リンクはまともですが、リンクテキストが変更される可能性の高いものにならないように注意しなければなりません。

ここで最高の良くないため、ロケータの私のランキングです: ID 名 リンク CSS UI のxpath

関連する問題