Я занимаюсь автоматизацией с помощью Selenium Webdriver. Я использую TestNG для этого. FactoryMethod выдает ошибку прилагается.
Пожалуйста помоги мне с этим. Я уже задавал вопрос о том же самом ранее, но не нашел это полезным для меня.
Ниже приведена ошибка, которую я получаю.
Exception in thread "main" org.testng.TestNGException:
The factory method class automation.actions.test.P2PPortalRegistrationActionTest.createInstances() threw an exception
at org.testng.internal.FactoryMethod.invoke(FactoryMethod.java:121)
at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:158)
at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:40)
at org.testng.TestRunner.initMethods(TestRunner.java:401)
Во время отладки кода я обнаружил, что в этом блоке перехвата возникает исключение com.getDeclaringClass (): -
catch (Throwable t) {
ConstructorOrMethod com = getConstructorOrMethod();
throw new TestNGException("The factory method "
+ com.getDeclaringClass() + "." + com.getName()
+ "() threw an exception", t);
}
Код, где присутствует аннотация @Factory: -
В этой строке ( P2PPortalRegistrationActionTest test = новый P2PPortalRegistrationActionTest (recordData); ) кода (ниже) управление переходит непосредственно к вышеуказанному блоку перехвата и выдает указанную ошибку.
@Factory
public static Object[] createInstances(ITestContext context) throws FileNotFoundException, IOException {
// Get attachment path from parameters
String parametersJson = context.getCurrentXmlTest().getParameter("P2PPortalRegistrationActionParams");
ObjectMapper mapper = new ObjectMapper();
P2PPortalRegistrationActionParams params = mapper.readValue(parametersJson, P2PPortalRegistrationActionParams.class);
// Read excel data
Object[][] data = ExcelFileReader.getExcelData(params.getAttachmentPath());
System.out.println("--Data length is---" +data);
// Created instances of Test class for each record of Test Data
List<P2PPortalRegistrationActionTest> listTestClassInstances = new ArrayList<P2PPortalRegistrationActionTest>();
for (int i = 0; i < data.length; i++) {
@SuppressWarnings("unchecked")
HashMap<String, String> recordData = (HashMap<String, String>) data[i][0];
System.out.println("Record Data---"+recordData);
P2PPortalRegistrationActionTest test = new P2PPortalRegistrationActionTest(recordData);
System.out.println("test after setting record data"+test);
test.setTestInstanceExecutionOrder(i + 1);
listTestClassInstances.add(i, test);
}
return listTestClassInstances.toArray();
}
Пожалуйста, помогите мне решить эту проблему. Я уже прошел все ответы на вопросы, связанные с этим здесь, но не нашел это полезным.
Заранее спасибо