Есть ли способ проверить работоспособность сортировки веб-таблицы в Selenium Webdriver или Katalon Studio? - PullRequest
0 голосов
/ 09 мая 2018

Можно ли протестировать функциональность сортировки веб-таблицы в Katalon Studio / Selenium Webdriver? Есть ли у Katalon Studio / Selenium Webdriver какой-либо метод по умолчанию, позволяющий проверить, находятся ли данные в одном столбце в порядке возрастания или убывания?

Ниже приведен код, который я использовал для извлечения всех значений, перечисленных в 1-м столбце веб-таблицы, и сохранения их в массиве:

WebDriver driver = DriverFactory.getWebDriver()

'To locate table'

WebElement Table = driver.findElement(By.xpath('/html[1]/body[1]/table[1]/tbody[1]'))



'To locate rows of table it will Capture all the rows available in the table'

List<WebElement> rows_table = Table.findElements(By.tagName('tr'))



'To calculate no of rows In table'

int rows_count = rows_table.size()



String[] celltext = new String[rows_count]

for (int row = 0; row < rows_count; row++) {

'To locate columns(cells) of that specific row'

List<WebElement> Columns_row = rows_table.get(row).findElements(By.tagName('td'))

'It will retrieve text from 1st cell'

String celltext_1 = Columns_row.get(0).getText()

celltext[row] = celltext_1

}

Например, celltext = [4,3,2,1] Теперь я хочу убедиться, что значения, сохраненные в текстовом поле, расположены в порядке убывания.

Любая помощь будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Отдельное спасибо Мурти за то, что он дал мне прекрасную идею сравнения массивов.

Мне удалось решить мою проблему следующим образом:

    List<Integer> celltext_list = Arrays.asList(celltext);
    Collections.sort(celltext_list, Collections.reverseOrder());
    int[] celltext_new = celltext_list.toArray();

    if(Arrays.equals(celltext_new, celltext)){
        System.out.println("Celltext is in descending order")
    }
    else{
        System.out.println("Celltext is in ascending order")
    }

В приведенном выше решении Мурти произошла ошибка, которую я добавил к его комментарию. Наконец-то придумали вышеуказанное решение.

0 голосов
/ 09 мая 2018

Ни селен, ни каталон не обеспечивают функции сортировки. Но вы можете использовать вспомогательный класс java Arrays для сортировки элементов и сравнения их следующим образом.

String[] celltextBefore = celltext;

Arrays.sort(celltext, Collections.reverseOrder());

if(Arrays.equals(celltextBefore, celltext))
{
   System.out.println("Celltext is in descending order");
}
else{
   System.out.println("Celltext is not in descending order");
}
...