bugfix> selenium > 投稿

Vaadin 7で開発されたJava 7 Webアプリケーションをテストしており、次のコードを使用してテーブル内の行の総数を計算していました。

     WebElement table= driver.findElement(By.xpath("//* [@id='grdEvRequestSearchView']/div[3]/table"));
     List <WebElement> gridrow = table.findElements(By.tagName("tr"));
     int rowNumber= gridrow.size();

アプリケーションの新しいバージョンでは、テーブルではなくVaadinグリッドコンポーネントをページに配置します。カウントから取得するのは、現在表示されている要素の数です。50個の要素のグリッドがあり、10個だけが表示されている場合、過去にテーブルコンポーネントを取得したときの50ではなく10。 表示されている行ではなく、行の有効なカウントを取得する方法はありますか?

アンドレス

回答 1 件
  • Seleniumを使用してグリッドの行数を取得することはできません。グリッドコンポーネントの考え方は、行が再利用され、新しいデータがそれらに供給されるということです。これにより、Vaadinの古いTableコンポーネントと比較して、DOMのコンポーネントが軽量になります。

    Vaadin 8およびTestBench 5製品を使用すると、実際の行数を確認できます(こちらのAPIを参照してください:demo.vaadin.com/javadoc/com.vaadin/vaadin-testbench-api/8.0.2/…)、残念ながらgetRowCountはそうではありませんVaadin 7/TestBench 4。

あなたの答え