`

报告生成

 
阅读更多
一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段时间,本文将教各位实现在执行完自动化脚本后自动生成一份美化报告

package ts.dw.logic;
 
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
 
public class HTMLLOG {
	static GregorianCalendar time = new GregorianCalendar();	
	public static String filePath = "";
	public static String reportGenerated = "";
 
	//写入HTML
	public void generateReport()throws Exception{
	    reportGenerated="true";  
	    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
	    Calendar cal = Calendar.getInstance();
	    String timeStamp=dateFormat.format(cal.getTime());
	    //String path = System.getProperty("user.dir")+"log";
	    filePath = "log\\"+"Regression_Result-"+"-"+timeStamp+".html";
	    FileWriter fstream = new FileWriter(filePath);
	    System.out.println("Report's FileName: "+filePath);
	    BufferedWriter out = new BufferedWriter(fstream);
	    out.write("html");
	    out.write("head");
	    //out.write("meta http-equiv='Content-Type' content='text/html; charset=utf-8'");
	    out.write("style type='text/css' " 
	    	  + " #summary" 
	  	      + " {"
	  	      + " font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;"
	  	      + " width:100%;"
	  	      + " border-collapse:collapse;"
	  	      + " }"
	  	      + " #summary td, #summary th"
	  	      + " {"
	  	      + " font-size:0.8em;"
	  	      + " border:1px solid #98bf21;"
	  	      + " padding:3px 7px 2px 7px;"
	  	      + " }"
	  	      + " #summary th"
	  	      + " {"
	  	      + " font-size:1.0em;"
	  	      + " text-align:left;"
	  	      + " padding-top:5px;"
	  	      + " padding-bottom:4px;"
	  	      + " background-color:#A7C942;"
	  	      + " color:#ffffff;"
	  	      + " }"
 
	  	      + " #componentWiseSummary" 
		      + " {"
		      + " font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;"
		      + " width:100%;"
		      + " border-collapse:collapse;"
		      + " }"
		      + " #summary td, #summary th"
		      + " {"
		      + " font-size:0.8em;"
		      + " border:1px solid #98bf21;"
		      + " padding:3px 7px 2px 7px;"
		      + " }"
		      + " #summary th"
		      + " {"
		      + " font-size:1.0em;"
		      + " text-align:left;"
		      + " padding-top:5px;"
		      + " padding-bottom:4px;"
		      + " background-color:#A7C942;"
		      + " color:#ffffff;"
		      + " }"
 
			  + " #customers" 
		      + " {"
		      + " font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;"
		      + " width:100%;"
		      + " border-collapse:collapse;"
		      + " }"
		      + " #customers td, #customers th"
		      + " {"
		      + " font-size:0.8em;"
		      + " border:1px solid #98bf21;"
		      + " padding:3px 7px 2px 7px;"
		      + " }"
		      + " #customers th"
		      + " {"
		      + " font-size:1.1em;"
		      + " text-align:left;"
		      + " padding-top:5px;"
		      + " padding-bottom:4px;"
		      + " background-color:#A7C942;"
		      + " color:#ffffff;"
		      + " }"
		      + " #customers tr.alt td"
		      + " {"
		      + " color:#000000;"
		      + " background-color:#EAF2D3;"
		      + " }"
	          + " </style>");
	    out.write("head");
 
	    out.write("body text-align:center");
 
	    out.write("table width=100% border=0 cellpadding=2 cellspacing=2");
	    out.write("tbody");
	    out.write("tr");
	    out.write("td");
	    out.write("table width=100% border=0 cellpadding=2 cellspacing=2");
	    out.write("tbody");
	    out.write("tr");
	    out.write("td align=center p class=title h1 自动化测试报告-By Kiven h1 p td tr");
	    out.write("tr" + "tbody" + "table" + "br");
 
	    /**
	     * Creating tables in HTML for Test Status
	     */    
	    out.write("table id=\"customers\"");
	    out.write("tr");
	    out.write("th Test Case Name</th>");
	    out.write("th Test Case ID</th>");
	    out.write("th Test Name and Steps</th>");
	    out.write("th Test Data th");
	    out.write("th Expected Result th");
	    out.write("th Actual Result th");
	    out.write("tr");
	    out.write("body");
	    out.write("html");
	    out.flush();
	    out.close();  
	}
 
	/*
	 * 将每一步执行的情况写入日志文件
	 */
	public void sendStatusToReport(String T_Name,String TC_ID, String Steps,String Data,String verify,String Result)throws Exception{
 
	    //先原文件末尾添加内容
	    FileWriter fstream = new FileWriter(filePath, true);
	    BufferedWriter out = new BufferedWriter(fstream);
 
	    //如果该行是测试用例标题行,则颜色设置为黄色,合并成一行并居中
	    if(Integer.parseInt(TC_ID)==0){
	    	out.write("tr bgcolor=#FFFF00 align='center'");
	    	out.write("td  colspan='6' b" + T_Name + "b td");
	    	out.write("tr");
                //刷新缓冲区
	        out.flush();
                //关闭流
	        out.close();
	    }else{
	    	//每行颜色设置成不同
		    //偶数行
		    if(Integer.parseInt(TC_ID)%2==0){
		    	//fail
		    	if(Result.equals("Fail")){
			    	out.write("tr bgcolor=#FF0000");//红色
			    }else{
			    	out.write("tr");
			    }
		    	//奇数行
		    }else{
		    	//fail
		    	if(Result.equals("Fail")){
			    	out.write("tr bgcolor=#FF0000");//red:bgcolor=#FF0000
			    }else{
			    	out.write("tr bgcolor=#EAF2D3");//灰绿色
			    }
		    }
	    	    out.write("td b" + T_Name + "b td");
		    out.write("td b" + TC_ID + "b td");
		    out.write("td b" + Steps + "b td");
		    out.write("td b" + Data + "b td");
		    out.write("td b" + verify + "b td");
		    out.write("td b" + Result + "b td");
		    out.write("tr");
		    out.flush();
		    out.close();
	    }
 
 
	}
 
	//测试函数
	public static void main(String args[]) throws Exception{
		HTMLLOG hl = new HTMLLOG();
		hl.generateReport();
		hl.sendStatusToReport("致友登录", "0", "操作步骤", "测试数据", "预期结果", "实际结果");
		hl.sendStatusToReport("", "1", "输入邮箱", "kiven@kk.com", "输入成功", "Pass");
		hl.sendStatusToReport("", "2", "输入密码", "1", "输入成功", "Fail");
		hl.sendStatusToReport("", "3", "输入邮箱", "kicen@kk.com", "输入成功", "Pass");
		hl.sendStatusToReport("", "4", "输入密码", "1", "输入成功", "Pass");
		hl.sendStatusToReport("", "5", "干什么", "1", "哦", "Pass");
	}
}
分享到:
评论

相关推荐

    USB字符串描述符生成器_HID报告生成工具

    USB字符串描述符生成器与HID报告生成工具是STM32进行USB开发过程中非常重要的辅助软件。STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计,而USB(通用串行总线)是设备之间进行数据传输的常见...

    学习第17章报告生成器.pdf

    这一章详细介绍了如何使用报告生成器,包括启动方法、数据抓取、图像和动画捕获、数据表格获取、列表获取、报告生成以及设置等步骤。 1. **启动报告生成器** - 用户可以通过Utility Menu &gt; File &gt; Report ...

    日常工作报告生成器微信小程序源码/支持日报、周报、月报、年终终结

    本项目是一款专为职场人士设计的日常工作报告生成器微信小程序源码,旨在简化报告编写过程,提高工作效率。这款小程序能够帮助用户快速生成日报、周报、月报以及年终总结等不同类型的报告,只需要输入相应的工作内容...

    11.zip_labview_word报告_报告生成_生成word报告

    综上所述,LabVIEW结合Word报告生成技术,为用户提供了一种高效、灵活且自动化的方式,来处理和展示实验数据,生成专业的技术报告,适用于各种科研、工程和教育场景。通过掌握这些技能,IT专业人士能够提升其在数据...

    AWR报告生成详解.doc

    在sqlplus中执行`@awrrpt`脚本来启动AWR报告生成流程。根据提示,你可以选择报告的输出格式,如text或html,这里以html为例。然后,你需要指定报告覆盖的天数,例如输入1表示最近一天的数据。系统会列出这段时间内的...

    日常工作报告生成器微信小程序源码下载,支持日报,周报,月报,年终终结

    【工作报告生成器微信小程序源码】是一款方便职场人士快速生成工作报告的应用。该小程序适用于日常工作汇报,包括日报、周报、月报以及年终总结,能够帮助用户省去编写报告的繁琐过程,提高工作效率。 1. **工作...

    房地产估价报告生成软件

    厦门思信达公司设计开发的房地产估价报告生成软件,在充分把握评估业务与管理需求的条件下应运而生,可以方便、快捷、高效的处理评估业务并自动生成估价报告;同时,可以避免数据的重复录入和前后矛盾,保证了报告的...

    基于LabVIEW的交流电容器测试数据处理和报告生成.pdf

    因此,自动化、智能化的数据处理和报告生成系统对于提高测试效率和准确性至关重要。 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种基于数据流的图形化编程语言,它广泛应用于自动化控制、...

    C# word模板 pdf报告生成器

    结合PDF报告生成,C#能提供强大的功能,帮助开发者创建专业的文档输出。本项目"**C# Word模板 PDF报告生成器**"利用C#编程技术和Word模板,实现了将动态数据填充到预定义的Word模板中,最终转换为PDF格式的报告,...

    WORD试验报告的自动生成

    - **应用**:利用VBA编写脚本,控制Word进行更复杂的操作,如处理多表格、多图形等,使报告生成更加智能化。 #### 三、多表格与多图形处理 - **多表格处理**:针对报告中可能包含多个表格的情况,可以利用VBA编写...

    AWR报告生成详解

    Oracle AWR(Automatic Workload Repository)报告是Oracle数据库性能监控的重要工具,它收集数据库的统计信息,包括SQL语句执行情况、系统资源消耗、等待事件等,并生成详细报告,帮助DBA(数据库管理员)分析和...

    支持python3多线程的测试报告生成BeautifulReport

    **Python3多线程在测试报告生成中的应用** 在现代软件开发中,自动化测试是确保产品质量和稳定性的重要手段。在Python编程语言中,Selenium是一个广泛使用的自动化测试框架,它允许开发者模拟用户行为来测试Web应用...

    可研报告生成系统破解版

    系统在Win95以上的Windows操作系统中均能正常运行。 目录Industry下为安装目录,执行Setup.exe文件进行安装,安装只需输入安装盘号和安装目录即可。 安装完毕后需要重启动,方能正常执行,如果在XP、NT等操作系统下...

    imagic_matlab报告生成_

    而"imagic_matlab报告生成_"这个项目则利用了MATLAB的编程能力,实现了自动生成Word报告的功能。 在描述中提到,该程序可以生成一个基础的Word文档框架,这通常涉及到MATLAB的文件操作和文本处理功能。MATLAB中的`...

    绿盟主机扫描报告生成1.3(修复web汇总bug).xls

    能够对绿盟极光安全扫描器扫描出来的报告进行二次加工,目前可生成主机报告以及web报告。原先的绿盟生成出来的Excel格式报告非常乱,而且不好归类,我写了个宏将扫描出来后的主机问题全部按照漏洞类型,风险描述,...

    fun_word.rar_matlab_matlab 报告生成_matlab 生成word_matlab生成报告_自动生成wor

    在实际应用中,你可以编写一个函数或脚本来封装这些操作,从而实现自动化报告生成。例如,你可能需要根据计算结果动态生成图表,然后插入到Word中,或者根据变量自动调整文本内容。这样的功能对于处理大量重复性工作...

    Enterprise Architect 报告生成器使用

    ### 企业架构师(Enterprise Architect)RTF报告生成器深入解析 #### 1. RTF文档生成概述 Enterprise Architect(简称EA),由Sparx Systems开发的一款强大的UML建模工具,提供了创建高质量、定制化文档的能力,...

    体检报告生成系统的设计与实现.nh

    从知网下载下来的硕士学位论文,有兴趣的可以下来看看,我是为了积分

    基于VSTO的Word数据自动化提取及报告生成系统的设计与开发.pdf

    基于VSTO的Word数据自动化提取及报告生成系统的设计与开发.pdf

    第17章报告生成器.pdf

    启动后,会弹出报告生成器窗口,窗口中包含多个功能按钮,包括图象抓取、动画捕捉、表格获取、列表获取、报告生成和设置。每个按钮都有相应的提示信息,当鼠标悬停在按钮上时会显示具体功能。 报告生成器在启动时...

Global site tag (gtag.js) - Google Analytics