Я писал тестовые сценарии, используя функцию TestNG DataProvider. До сих пор я был доволен тем, как я это делал, так как количество параметров, которые я передавал, было меньше 10, но некоторые из новых страниц, которые я тестирую, имеют более 30-35 параметров, добавление этих параметров в метод тестирования делает это выглядит очень уродливо, поэтому я начал использовать varArgs 'Object...'.
Это хороший способ динамической передачи параметров, но затем их использование затруднено, так как вы должны быть очень осторожны с индексами и склонны к ошибкам, если это необходимо сделать для многих методов.
Я попытался передать тестовые данные как ArrayList>, где HashMap — это пара «имя-значение столбца», но TestNG не примет это, поскольку HashMap не может быть приведен как Object[]. Причина, по которой я подумал об использовании HashMap, заключается в том, что вы можете запросить ключ и получить его значение, а ключ мне известен. Я мог бы написать общий метод для получения значения и присвоения его переменной, представляющей имена полей на странице.
Источник данных (XLS) хранит только тестовые данные, введенные на странице, поэтому он основан исключительно на данных, а не на ключевых словах. Все страницы, которые я тестирую, являются страницами ввода данных.
Каков наилучший способ иметь какую-то идентичность в тестовых данных, а также заставить TestNG принять их.
Любая помощь в этом отношении очень ценится.
Спасибо, Джон