Возможно ли сохранить все тестовые примеры, которые потерпели неудачу в hashmap, а затем вызвать все значения, сохраненные на карте в конце класса?Хранить «данные» в HashMap после каждого тестового исполнения (TestNG Class)?
Variable:
private HashMap<String, Integer> serverStatusMap = new HashMap<String, Integer>();
После Method Код:
@AfterMethod
public void trackServerStatus(ITestResult testResult) {
if (testResult.getStatus() == ITestResult.FAILURE) {
try {
String testName = this.getClass().getSimpleName().toString();
int serverStatus = ServerStatus.getResponseCode(basePage.getCurrentURL());
int i = 0;
while(i < serverStatusMap.size()) {
serverStatusMap.put(testName, serverStatus);
i++;
}
//serverStatusMap.put(testName, serverStatus);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Вызов сохраненных значений в карте После класса:
@AfterClass
public void sendEmailBasedOnFailure(ITestContext context) throws WebDriverException, Exception {
String tempTime = new SimpleDateFormat("hh.mm.ss").format(new Date());
if(context.getFailedTests().size() > 0) {
SendEmailFile.sendEmailReport(
"TIME: " + tempTime + " | " + this.getClass().getPackage().toString(),
"TIME: " + tempTime + " | " + this.getClass().getPackage().toString() + " | " + "CLASS NAME: "
+ this.getClass().getSimpleName().toString() + "\n\n" +
"TOTAL NUMBER FAILED TESTS: " + context.getFailedTests().size() + "\n\n" +
"FAILED TEST CASES: " + context.getFailedTests().getAllMethods().toString() + "\n\n" +
serverStatusMap.toString());
}
Посмотрите на последней строке кода: «serverStatusMap.toString()»
Выходной ток на карте: {}
Этот вопрос не имеет никакого отношения к селену. Удалите метки селена, селена-webdriver и webdriver. – CMerrill