Добрый день друзья!
Есть такая задача:
На странице расположена таблица с некоторым количеством колонок. В шапке каждой из колонок есть список, из которого можно выбрать значение - и отфильтровать всю таблицу по данному значению. Т.е. после выбора одной опции в колонке должны присутствовать ячейки ТОЛЬКО с текстом, по которому была фильтрация.
Задача - проверить все комбинации вариантов выбора из списка.
С помощью PICT я сгенерировал 240 тестовых случаев для полного покрытия. Теперь пишу функцию для этого.
На данный момент пришел к такой логике:
1. Формирую файл с таблицей значений списка, которые нужно выбрать.
2. Считываю из файла значения для первого случая.
3. Выбираю в нужных колонках нужные опции.
4. Жду загрузки отфильтрованных значений.
5. С помощью FindElements(By.Xpath("")); формирую коллекции для каждой и проверяемых колонок.
6. Прохожусь .в циклах по каждой коллекции => проверяю текст элемента(ячейки)ю
7. Если текст ячейки равен тексту, по которому проходила фильтрация - тест пройден. В противном случае - фейлится.
При реализации/оптимизации данной функции столкнулся с 2мя проблемами:
1. Тест падает в циклах - страница изменяется после каждой итерации - соответственно ВебДрайвер "теряет" элемент. Как бороться?
2. Тест выполняется очень долго - причем значения из списка выбираются быстро, а проверка элементов в колонке - тормозит весь процесс. Где именно менять время ожидания элемента?
Интересен тот факт, что даже если после фильтрации НИ одной ячейки не вернуло - т.е. коллекция пуста - драйвер все равно ожидает - ищет элементы.
3. Подходит ли такая логика для данного теста?
Прошу помочь с данной ситуацией.