96

私は多言語 Web アプリケーションで Selenium WebDriver 2.25.0 を使用しており、主にページ コンテンツをテストしています (アラビア語、英語、ロシア語などのさまざまな言語について)。

パフォーマンスに応じて優れているアプリケーションの場合、すべてのブラウザー (つまり、IE 7、8、9、FF、Chrome など) をサポートする必要があります。

貴重なご提案をありがとうございます。

4

3 に答える 3

116

CSS セレクターは Xpath よりもはるかに優れたパフォーマンスを発揮し、Selenium コミュニティで十分に文書化されています。ここにいくつかの理由があります。

  • Xpathエンジンはブラウザごとに異なるため、一貫性がありません
  • IE にはネイティブの xpath エンジンがないため、selenium は API の互換性のために独自の xpath エンジンを挿入します。したがって、WebDriver が本質的に促進するネイティブのブラウザー機能を使用する利点が失われます。
  • Xpath は複雑になる傾向があるため、私の意見では読みにくくなっています

ただし、親要素を検索したり、テキストで要素を検索したりするなど、xpath を使用する必要がある場合があります (後者はお勧めしません)。

ここでサイモンのブログを読むことができます。彼はまた、Xpath よりも CSS を推奨しています。

コンテンツをテストする場合は、要素のコンテンツに依存するセレクターを使用しないでください。これは、すべてのロケールにとってメンテナンスの悪夢です。開発者と話をしてみて、辞書やリソース バンドルなど、アプリケーション内のテキストを外部化するために彼らが使用した手法を使用してください。詳しく説明している私のブログはこちらです。

編集 1

@parishodak のおかげで、CSS のパフォーマンスが優れていることを証明する数値を提供するリンクを次に示します。

于 2013-05-28T14:30:23.990 に答える