요구 사항은 다음 표의 열 순서가 열 머리글 이름에서 올바른 순서로되어 있는지 확인하는 것입니다.셀 열의 테이블 열 순서 확인
따라서 필자는 필요한 순서대로 테이블 헤더 이름의 배열 목록 [String]을 허용하는 요구 사항을 처리하는 방법을 작성했습니다.
하지만 'isDisplayed()'메서드는 항상 'false'를 반환하므로 소프트 어서션을 통해 내 요구 사항을 수행하지 않습니다.
누군가 나에게 친절하게도 수정하고 수정하도록 추가 제안 할 수 있습니까? 테이블에 대한
HTLM 코드 :
<table id="examMarkEntryExamList" class="display table table-bordered table-striped dynamic-table display_header_class">
<thead>
<tr>
<th class="text-center sortable sorted order1">Academic Year</th>
<th class="text-center sortable sorted order1">Curriculum</th>
<th class="text-center sortable sorted order1">Grade</th>
<th class="text-center sortable sorted order1">Semester/Term</th>
<th class="text-center sortable sorted order1">
<a class="pagination-cuser-point">Exam Code</a>
</th>
<th class="text-center sortable sorted order1">Actions</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>2016-2016</td>
<td>LOCAL</td>
<td>GRADE11</td>
<td>2nd Term</td>
<td>G11SecondTerm</td>
<td>
</tr>
</tbody>
</table>
셀레늄 [자바] 방법은 열 순서
public void verifyColumnOrder(WebDriver driver, String tableId, ArrayList<String> columnHeaderList) {
SoftAssert softassert = new SoftAssert();
String relativeXpath = "//table[contains(@id,'"+tableId+"')]/";
for (String columnHeader : columnHeaderList) {
relativeXpath = relativeXpath + "/following-sibling::th[contains(.,'" + columnHeader + "')]";
softassert.assertTrue(driver.findElement(By.xpath(relativeXpath)).isDisplayed());
}
softassert.assertAll();
}
findElement를 findElement로 변경하십시오. 그렇지 않으면 getText()를 컴파일 할 수없는 목록에서 호출하게됩니다. 그렇지 않으면 getText 앞에 '[0]'을 붙이십시오. – Grasshopper
@Grasshoppe, 감사합니다. –