Я автоматизирую приложение Salesforce с помощью Selenium TestNG.Я реализую утилиту, используя apache PDFBox, где я вставляю все свои скриншоты в PDF, чтобы сделать клиента счастливым.
Моя логика заключается в том, что я создаю скриншоты в каждом методе с 1.png, 2.png и т. Д. До n.pngи вставьте их в pdf, используя методы pdfbox.
Проблема в том, что мое число снимков экрана является переменным, поэтому я реализовал iTestContext, где я установил переменный счетчик на максимальное число, передал их моему методу after, где я получил счетчик, иэто количество скриншотов вставлено - что-то вроде этого
Class Login {
@Test
mymethod(ItestContext context){
commonfunctions.savescreenshot(1.png);
commonfunctions.savescreenshot(2.png);
commonfunctions.savescreenshot(n.png);
context.setAttribute("Counter", "n");
}
@AfterMethod
myaftermethod(){
String PATH = //Path of my test method
String MethodCounter = (String)context.getAttribute("Counter");
PDFUtility.addImagetoPDF(PATH,Integer.parseInt(MethodCounter) );
}
}
Проблема в том, что у меня есть много методов, которые мне нужно реализовать, и я не хочу ITestContext
слушатель в качестве аргумента для каждого метода. Могу ли я передать его вXML-файл и использовать его для всех методов?
Надеюсь, я предоставил все детали