Проверка таблицы HTML с таблицей данных с использованием Cucumber JavaJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Проверка таблицы HTML с таблицей данных с использованием Cucumber Java

Сообщение Гость »


Я проверяю таблицу HTML с таблицей данных с помощью Cucumber Java и написал следующий метод.

public voidverifyHtmlTableData(DataTable dataTable) { WebElement htmlTableElement = webDriver.findElement(By.xpath("//table[@class='tablename']")); Список rowElements = htmlTableElement.findElements(By.tagName("tr")); List dataTableRows = dataTable.asLists(); //внешний List — это строки, внутренний List — это ячейки

// Проверяем, что количество строк в Datatable и html-таблице одинаково Assert.assertEquals("Строки таблицы данных должны соответствовать строкам таблицы HtmlTable", dataTableRows.size(), rowElements.size()); //Проверяем заголовок таблицы List headerElements = rowElements.get(0).findElements(By.xpath(".//th")); // получаем все заголовки из строки WebElement CompareTableData(headerElements, dataTableRows.get(0),0 ); rowElements.remove(0); for (List row: dataTableRows) { //проходим по каждой строке во входных данных DataTable int rowIdx = dataTableRows.indexOf(строка); WebElement rowElem = rowElements.get(rowIdx); // получаем строку WebElement на основе индекса текущей строки в DataTable List cellElements = rowElem.findElements(By.xpath(".//td")); // получаем все ячейки из строки WebElement CompareTableData (cellElements, row, rowIdx); } } public void CompareTableData(List cellElements, List row, int rowIdx){ for (String ожидаемая ячейка: строка) { //проходим по каждой ячейке в текущей строке DataTable int cellIdx = row.indexOf(expectedCell); Строка factCell = cellElements.get(cellIdx).getText(); если (expectedCell == null) { ожидаемая ячейка = ""; } log.info("DataTable row " + rowIdx + ", cell " + cellIdx + ": " + ожидаемая ячейка); log.info("Фактическое значение на странице: " + factCell); Assert.assertEquals("Ожидаемое значение ячейки должно совпадать с фактическим значением ячейки", ожидаемая ячейка, фактическая ячейка); } } Я не могу удалить таблицу заголовков из таблицы данных, поэтому это не работает. Кто-нибудь может помочь, пожалуйста?

Я попробовал dataTableRows.remove(0); Но он удаляет только первый элемент
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»