初心若雪_001 发表于 2018-3-13 15:02:38

Java生成HTML文件(测试报告)-测试开发基础

测试开发...测试人员的终极技术岗位..其实就是一个开发的岗位了..博主还没有这么强的能力...不过正在
向这个道路上前进..

其任务就是给测试人员设计测试工具,那其中开发测试报告是必不可少的,而报告
大多数情况都是用前端代码写的。

这里说一个用Java中的PrintStream来生成html文件,当然所有的前端代码都要写在java里。

前提:要做一个网页必须得掌握前端知识..

先贴出代码
try {
            StringBuilder s=new StringBuilder();
            s.append("<html><head><title>aaa</title>" +
                  "<meta charset=\"UTF-8\">" +
                  "<style>\n" +
                            "\ttable{\n" +
                            "\t\tmargin: auto;\n" +
                            "\t\twidth: 800px;\n" +
                            "\t}\n" +
                            "\ttd{\n" +
                            "\t\tpadding: 5px;\n" +
                            "\t}\n" +
                            "\t\n" +
                            "</style>"+
                  "</head>");
            s.append("<body><table border=\"1px solid\">\n" +
                  "\t\t<tr>\n" +
                  "\t\t\t<td>用例名称</td>\n" +
                  "\t\t\t<td>运行结果</td>\n" +
                  "\t\t\t<td>运行时间</td>\n" +
                  "\t\t</tr>\n" +
                  "\t\t<tr bgcolor=\"greenyellow\">\n" +
                  "\t\t\t<td>test</td>\n" +
                  "\t\t\t<td>passed</td>\n" +
                  "\t\t\t<td>10s</td>\n" +
                  "\t\t</tr>\n" +
                  "\t\t</table></body>");
            s.append("</html>");

            FileOutputStream fileOutputStream=new FileOutputStream("F:\\try.html");
            PrintStream printStream=new PrintStream(fileOutputStream);
            printStream.println(s);
            fileOutputStream.flush();
            printStream.flush();
            fileOutputStream.close();
            printStream.close();

1.这里先是使用StringBuilder对字符串进行拼接,当然你可以直接用string把html里的整体复制过来,我这
里用StringBuilder是因为它有个append方法,可以拼接字符串,看上去有点分层的意思,把head标签和b
ody标签区分,看上去比较舒服、清晰一点。

String版本

String s="<!DOCTYPE html>\n" +
               "<html>\n" +
               "\t<head>\n" +
               "\t\t<meta charset=\"UTF-8\">\n" +
               "\t\t<title></title>\n" +
               "\t\t\n" +
               "\t<style>\n" +
               "\ttable{\n" +
               "\t\tmargin: auto;\n" +
               "\t\twidth: 800px;\n" +
               "\t}\n" +
               "\ttd{\n" +
               "\t\tpadding: 5px;\n" +
               "\t}\n" +
               "\t\n" +
               "</style>\n" +
               "\t</head>\n" +
               "\t<body>\n" +
               "\t\t<table border=\"1px solid\">\n" +
               "\t\t<tr>\n" +
               "\t\t\t<td>用例名称</td>\n" +
               "\t\t\t<td>运行结果</td>\n" +
               "\t\t\t<td>运行时间</td>\n" +
               "\t\t</tr>\n" +
               "\t\t<tr bgcolor=\"greenyellow\">\n" +
               "\t\t\t<td>test</td>\n" +
               "\t\t\t<td>passed</td>\n" +
               "\t\t\t<td>10s</td>\n" +
               "\t\t</tr>\n" +
               "\t\t</table>\n" +
               "\t</body>\n" +
               "</html>\n";

            FileOutputStream fileOutputStream=new FileOutputStream("F:\\try.html");
            PrintStream printStream=new PrintStream(fileOutputStream);
            printStream.println(s);
            fileOutputStream.flush();
            printStream.flush();
            fileOutputStream.close();
            printStream.close();
2.定义输出流FileOutputStream,生成html文件,指定位置。

然后实例化PrintStream,作用是将字符串输入到html里。

最后别忘了.flush .close:-D

还是比较简单的吧。

最后出来这个效果:



页: [1]
查看完整版本: Java生成HTML文件(测试报告)-测试开发基础