我正在使用模拟器,当出现故障时我会截取屏幕截图并想要收到异常消息,然后将其放入一个以日期命名的目录中。
所以问题是如何做到这一点,因为到目前为止我已经尝试捕获异常的地方
try{
setup.waitForElementByName("rates");
setup.goTo("right");
setup.tapByName("Favouritess"); //this cause exception
setup.waitForElementById("list_content");
}catch (WebDriverException e){
setup.takeScreenshotAndLogs(e.getClass().getName(), e.getMessage());
}
如您所见,我导致异常和通话方法:
public void takeScreenshotAndLogs(String exceptionName, String exceptionMessage) throws IOException {
GregorianCalendar cal = new GregorianCalendar();
int year = cal.get(GregorianCalendar.YEAR);
int mouth = cal.get(GregorianCalendar.MONTH);
int day = cal.get(GregorianCalendar.DAY_OF_MONTH);
int hour = cal.get(GregorianCalendar.HOUR_OF_DAY);
int minute = cal.get(GregorianCalendar.MINUTE);
int second = cal.get(GregorianCalendar.SECOND);
String directory = "fails/screenshots/"
+year +"-"
+mouth +"-"
+day +" "
+hour +"."
+minute +"."
+second +"/";
File scrFile = driver.getScreenshotAs(OutputType.FILE);
File targetFileScreenshot = new File (directory +exceptionName +".png");
FileUtils.copyFile(scrFile, targetFileScreenshot);
}
我使用Calendar创建目录名,然后截取屏幕截图,并将其保存在目录中。
现在只创建带有异常消息的txt文件,我希望你能帮我解决这个问题。
提前致谢。