Создание TestNG dataProvider из двух массивов
Я имею дело с созданием правильного объекта провайдера данных TestNG. Моя цель - создать структуру {customerCode, countryCode}, например, "345","US". Я смог загрузить данные из файла testNG.xml в два отдельных массива, но, наконец, как разместить код, чтобы он возвращал первый элемент из одного массива в паре с первым элементом из второго массива и так далее.
Вот мой код, который возвращает два массива, которые не предназначены. Я хочу в паре с Object[][] и использовать его в качестве dataProvider.
public Object[][] createData1(ITestContext context) {
String customerCodesStr = context.getCurrentXmlTest().getLocalParameters().get("customerCode");
String[] customerCode = customerCodesStr.split(",");
String countryCodeStr = context.getCurrentXmlTest().getLocalParameters().get("countryCode");
String[] countryCode = countryCodeStr.split(",");
Object[][] result = new Object[][] {customerCode,countryCode} ;
return result;
}
TestNG
<parameter name="customerCode" value="1234, 4357" />
<parameter name="countryCode" value="US, MEX" />
Это довольно примитивный вопрос, как играть с объектами, но это сложно сделать. Ну, это можно сделать с помощью цикла, но я хотел избежать этого. Есть какие-нибудь предложения?
1 ответ
Понял!
Object[][] result = new Object[][] {};
for (int i = 0; i < customerCode.length; i++) {
result = ArrayUtils.add(result, new Object[] {customerCode[i],countryCode[i]});
}
return result;