java自动化将用例和截图一起执行测试放入world中直接生成测试报告【搬代码】
1.首先我们得用例写好之后放入文档中,把不用的案例类型、前置条件去掉之后,如图:
放到桌面后,先看执行结果:
首先,我们先创建一个时间,这个时间主要是给图片创建名称,并且要在插入world中使用该时间去查找对应的图片名称,且该图片名称是唯一值
//创建时间
public static String times(){
Date date = new Date();
String format = String.format("%tF", date);
String hour = String.format("%tH", date);
String mintus = String.format("%tM", date);
String secound = String.format("%tS", date);
String t=format+hour+mintus+secound;
return t;
}
其次,我们就要创建一个截图的方法,截图主要用于我们对结果的记录,并且保存到对应的文件夹中,方便时间值来查找到并使用它
//截图放起来,并且返回一个截图时间
public static String Screen(ChromeDriver driver) throws IOException {
File file=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
//直接添加E:/idear/idearxm/jiekou,前面没有。。
String times = times();
FileUtils.copyFile(file,new File("E:/idear/idearxm/jiekou/test-output/images/"+times+".png"));
driver.quit();
return times;//把截图时间也返回去
}
然后我们就要创建测试用例的代码,执行测试用例,当然我们在这里不是讲解selenium的断言等,主要是使用截图,来创建自动化测试文档给其中放置图片使用。
其实我们在编写selenium的代码时,完全可以将每一个步骤编写成对应的方法,写在一个文件内,等待调用。因为这样我们可以避免代码重复堆叠,最后形成庞大的屎山代码,但是屎山代码完全可以让我们在这个公司越来越稳,后面准备写一篇如何正确使用屎山代码,并且保留bug的文章,和httpclient的自动化测试报告
//这里是编写测试用例执行代码地方
public static void test002() throws IOException, InvalidFormatException, InterruptedException {
ChromeDriver driver = new ChromeDriver();
System.setProperty("webdriver.chrome.bin","C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
System.setProperty("webdriver.chrome.driver","C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
driver.get("http://www.baidu.com");
Thread.sleep(5000);
String screen = Screen(driver);//调用方法,将截图的时间获取到,放入插入图片那里
// 创建一个段落对象。
XWPFParagraph paragraph=document.createParagraph();
// 创建一个run。run具体是什么,我也不知道。但是run是这里面的最小单元了。
XWPFRun run=paragraph.createRun();
// 插入图片,将screen时间截图的时间获取到,放入插入图片这里
run.addPicture(new FileInputStream("E:/idear/idearxm/jiekou/test-output/images/"+screen+".png"),
XWPFDocument.PICTURE_TYPE_PNG,
screen+".png",
Units.toEMU(400),
Units.toEMU(200));
}
最后呢,我们创建表并且将上述的代码带入其中,在其中放置图片使用
public static final XWPFDocument document = new XWPFDocument();
public static void main(String[] args) {
try{
// 添加段落内容,也就是标题
XWPFParagraph p = document.createParagraph();
p.setStyle("标题4");//设置标题2
p.setFontAlignment(2);//字体对齐方式:1左对齐 2居中3右对齐
XWPFRun run = p.createRun();
run.setText("xxx测试报告");//添加标题
//urlexcel,这个地址是你用例的地址
String path="D:\\桌面\\Eworld1.xls";
//解析路径
Workbook workbook=Workbook.getWorkbook(new File(path));
//获取第一张表
Sheet sheet = workbook.getSheet(0);
//循环获取第一行数据,因为默认第一行为标题行,我们可以从1开始循环,如果需要读取标题行,从0开始
for (int i = 1; i <sheet.getRows() ; i
原文地址:https://blog.csdn.net/weixin_52001174/article/details/135572355
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!