我正在使用java的selenium webdriver。我面臨一個問題。我有一個web表,我有添加事件功能的測試用例,它成功地將該事件添加到表中。現在我想斷言/驗證是否在表中添加了事件(因爲如果功能被破壞,那麼日期將不會添加到表中,並且我可以故意地使測試失敗)。在測試用例開始之前事件的數量是未知的。我對此測試用例驗證的邏輯如下:從Web表獲取行數 - Selenium WebDriver Java
在表中添加事件。添加事件的代碼是:
public void addIndividualEvent(String eventDate, String eventName) throws Exception { driver.findElement(individualEventDate).sendKeys(eventDate); driver.findElement(individualEventName).sendKeys(eventName); driver.findElement(addIndividualEventBtn).click(); }
現在,在此步驟之後,表中可能有多個事件。所以我的下一步將是。
查找表中的行數。
- 構建循環遍歷每一行並獲取日期字段的文本。
- 將for循環的結果添加到列表中。
- Then Assert.assertEquals(List,eventDate);會告訴我,如果我添加的事件是在表中或沒有。
現在,下面是我網站中表格的HTML代碼。
<table class="table table-condensed table-hover event-list">
<tbody>
<tr class="study-event-row ng-scope" ng-repeat="event in events | orderBy:'-date'">
<tr class="study-event-row ng-scope" ng-repeat="event in events | orderBy:'-date'">
<tr class="study-event-row ng-scope" ng-repeat="event in events | orderBy:'-date'">
</tbody>
</table>
我能夠構建xpath,突出顯示錶中可用的所有行。
xpath = //table[@class='table table-condensed table-hover event-list']/tbody/tr
現在我面臨的問題是,我不知道如何使用此xpath從我的表中獲取行數。我試圖使用xpath.getSize();
,但是這返回了表格的尺寸而不是實際的數量。
任何人都可以告訴我如何得到沒有行?由於
你只在xpath中存儲一個值?或者那是列表? –
@HelpingHands當我在瀏覽器中通過firepath搜索這個xpath時,上面的xpath給了我(加亮)所有行。我需要計算那些突出顯示的行,但我不知道如何實現這一點。 – Uziii
我認爲你應該數不清。行列表使用列表 rows = driver.findElements(by.tagname(「tr」)); rows.size();' –