2

私は Selenium WebDriver を初めて使用しますが、主に Java/Wicket ベースのアプリをインストルメント化しました。残念ながら、私は Wicket フレームワークによって提供されるページ ナビゲーション コントロールのコレクションを特定する方法を見つけ出すことに行き詰まっています。コントロールは次のようになります。

<< < 1 2 3 4 5 > >>

Firebugを使用すると、動的IDを含むhref文字列が表示され、要素に名前が付けられていないため、ジレンマになります。

アドバイスをいただければ幸いです。

4

4 に答える 4

0

あなたはそれらが要素だと言いましたか?その場合、それは比較的簡単なはずです。

int pageNum = 1;//Or whatever number you want to click on
driver.findElement(By.linkText(pageNum+""));

数字を含む他のリンクがある場合 (その可能性が非常に高い)、親要素を選択できます。

driver.findElement(By.cssSelector(".pageNumSet")).findElement(By.linkText(pageNum+""));

(明らかに、.pageNumSetセレクターを変更する必要があります。

(ところで、絶対に使用する必要がない限り、XPath はあまりお勧めしません。すべてのセレクターの中で最も強力ですが、最も低速でもあります。(生成された XPath は非常に脆弱な場合もあります)。

于 2013-09-19T15:37:55.750 に答える
0

標準ウィケット ID は各ページ レンダリングで変更されるため、使用できません。ただし、各要素に wicketpath 属性を追加するように wicket に指示することはできます (必要に応じて - おそらくリンク/ボタンのみ?)。次に、Selenium に wicket id の代わりに wicketpath を使用するように指示します: http://www.jdev.it/testing- a-wicket-application-with-selenium-ide/

Wicket は 'wicketpath' 要素をデバッグ モードで追加するだけなので、実稼働 Web サイトにそれらがないためにパフォーマンスが低下することはありません。

于 2016-01-25T03:41:58.750 に答える