0

正しいタイトル、要約、およびリンクが検索結果に表示されることをテストしようとしています。たとえば、次の例では、少なくとも1つのレコードに「Titlefor Beta」というタイトル、「Summary for Beta」というテキストを含む要約、および「Link」というリンクが含まれていることを確認したいと思います。

<ul>
  <li class="results">
    <h2 class="title">Title for Alpha</h2>
    <div class="summary">Summary for Alpha...</li>
    <div class="link"><a href="http://www.example.com">Link</a>
 </li>
 <li class="results">
    <h2 class="title">Title for Beta</h2>
    <div class="summary">Summary for Beta...</li>
    <div class="link"><a href="http://www.example.com">Link</a>
 </li>
</ul>
4

1 に答える 1

0

それらを選択する方法はたくさんあります。1つはCSSクラスを使用しています。

HtmlUnitDriver driver = new HtmlUnitDriver();

driver.get("...");

List<WebElement> titles = driver.findElements(By.className("title"));
List<WebElement> summarys = driver.findElements(By.className("summary"));
List<WebElement> links = driver.findElements(By.className("link"));

for (WebElement webElement : titles) {
    String innerText = webElement.getText();

    // do your test....
}

ページ構造がより複雑な場合は、XPathを使用してそれを行うこともできます。

Seleniumを初めて使用する場合は、PageFactoryパターンを確認する必要があります。これは、はるかにクリーンなコードを作成するための優れた方法です。

要素を選択する珍しい方法では、InnerTextXPathを使用できます。このXPathは、「TitleforAlpha」を含むすべての要素を次のように選択します。InnerText

List<WebElement> titles = driver.findElements(By.xpath("//*[contains(text(), 'Title for Alpha')]"));
于 2012-07-24T07:49:00.247 に答える