Пишех тестови скриптове, използвайки функцията DataProvider на TestNG. Досега бях доволен от начина, по който го правех, тъй като броят на параметрите, които предавах, беше по-малък от 10, но някои от новите страници, които тествам, имат повече от 30-35 параметъра, добавянето на тези параметри към тестовия метод прави изглежда наистина грозно, така че започнах да използвам varArgs 'Object...'.
Това е добър начин за динамично предаване на параметри, но след това използването им е трудно, тъй като трябва да бъдете много внимателни с индексите и склонни към грешки, ако това трябва да се направи за много методи.
Опитах да предам тестовите данни като ArrayList>, където HashMap е двойката име-стойност на колона, но TestNG няма да приеме това, тъй като HashMap не може да бъде прехвърлен като Object[]. Причината, поради която реших да използвам HashMap, е, че можете да направите заявка за ключ и да получите стойността му и ключът ми е известен. Можех да напиша общ метод за получаване на стойността и да я присвоя на променливата, представляваща имената на полетата на страницата.
Източникът на данни (XLS) съхранява само тестовите данни, които са въведени на страницата, така че той е изцяло управляван от данни, а не базиран на ключови думи. Всички страници, които тествам, са страници за въвеждане на данни.
Кой е най-добрият начин да имате някаква идентичност на тестовите данни и също така да накарате TestNG да ги приеме.
Всяка помощ в това отношение наистина се оценява.
Благодаря ти, Джон