Как отправить определенные строки Excel для поставщика данных в testNG?

Я создал Excel, содержащий несколько строк, каждая строка соответствует тесту. В Excel имеется около 22 столбцов (параметров), включая столбец "Флаг".

Я хочу, чтобы поставщик данных возвращал только те столбцы, которые имеют значение "Y" в столбце Excel. Сценарий использования заключается в том, что, когда клиент хочет запустить конкретный тестовый пример, ему нужно только пометить его как Y или N. Как я могу добиться этого в TestNG с Selenium?

Мой коллега помог мне добиться этого, используя следующий код, но это не работает в соответствии с моей новой структурой кода.

@DataProvider(name = "Order") 
     public Object[][] menu() 
     { 
         Object[][] data = UtilLibrary.getData("Order");
         int intColCount = UtilLibrary.datatable.getColumnCount("Order");

         int j = 0; 
         int arrRowCount=0; 
         for (int i = 0; i < data.length; i++) { 
             if((data[i][intColCount-1]).equals("Y"))
             { 
                 arrRowCount++; 

                 } 
             } 
                j=0;

                Object[][] retData = new Object[arrRowCount][intColCount]; 
                for (int i = 0; i < data.length; i++) 
                { 
                    if ((data[i][intColCount-1]).equals("Y")) {
                        retData[j] = data[i]; j++; }
                } 
                return retData; 
     }

Приведенный выше код отправляет только те данные, которые имеют флаг ='Y' в Excel, для поставщика данных. Но это работало только тогда, когда в тестовом скрипте был один метод @Test со всеми этапами автоматизации, в то время как теперь у меня есть несколько методов @Test для имитации тех же этапов, которым я передал этот же Dataprovider (Order).

Дайте мне знать, если кто-то достиг этого, используя похожий код, или если TestNG имеет особую функцию для отправки отфильтрованных строк Excel в поставщик данных

1 ответ

Я сейчас исправил проблему. Причина, по которой приведенный выше код для строк с флагом = 'Y' в Excel не работал с несколькими методами @Test, была только из-за глупой ошибки. Ошибка заключалась в том, что я немного изменил структуру Excel и не изменил приведенный выше код в соответствии с индексом столбца нового флага.

Другие вопросы по тегам