Я пытаюсь проверить правильность отображаемых строк после ввода значения поиска в сетку.Мне удалось найти в таблице случайное значение с кодом ниже:
Grid grid;
grid = runtimeState.allJobsPage.getGrid();
assertNotNull("Unexpected Null Grid", grid);
String[] headersAllJobs = { "Job reference", "Assignment status", "Site", "Asset subtype / classification", "Days outstanding" };
String randomHeader = headersAllJobs[RandomUtils.nextInt(0, headersAllJobs.length - 1)];
List<String> columnAllJobs = grid.getColumn(randomHeader);
String searchString = columnAllJobs.get(RandomUtils.nextInt(0, columnAllJobs.size() - 2));
runtimeState.allJobsPage.searchJobs(searchString);
outputHelper.takeScreenshot();
Однако у меня возникают проблемы при попытке убедиться, что правильные строки отображаются после ввода значения случайного поиска.Вот код, который у меня есть на данный момент:
runtimeState.scenario.write("Asserting All jobs table only displays rows with: " + searchString);
grid = runtimeState.allJobsPage.getGrid();
String cellText = "";
for (Row row : grid.getRows()) {
for (Cell gridcell : row.getCells()) {
cellText = cellText + gridcell.getText() + " " + gridcell.getSubText() + " ";
}
assertTrue("Row that does not contain: " + searchString, cellText.contains(searchString));
Я надеялся, что переменная cellText сохранит текст и подтекст для каждой ячейки в каждой строке и затем сделает утверждение, что текст в этой строке включает в себя то, что япервоначально искал сетку для.Тем не менее, поскольку внутри цикла cellText для цикла for сохраняется текст в каждой ячейке для каждой строки, утверждение не будет работать.Есть ли лучший способ для меня это сделать?