写自动化测试时,一个很重要的任务就是生成漂亮的测试报告。

1.用junit或testNg时,可以用ant辅助生成html格式:

<target name="report" depends="run">

<junitreport todir="${report.dir}">

<fileset dir="${report.dir}">

<include name="TEST-*.xml" />

</fileset>

<report format="noframes" todir="${report.dir}" />

</junitreport>

<echo message="Finished running tests." />

</target>

具体查看我的另外一篇博客:项目构建工具ant的使用

2.用maven管理测试代码时,可以用maven自带的插件生成html格式的测试报告:

具体查看博客:用插件maven-surefire-report-plugin生成html格式测试报告

3.用xslt格式化xml,生成html格式文件

(1)简要介绍XSLT:

XSLT是一种用于将XML文档转换任意文本的描述语言,XSLT中的T代表英语中的“转换”(Transformation)。

Xslt使用xpath来在xml文件中定位元素

(2)准备xml文件

比如说是a.xml文件:

<?xml version="1.0"?>
<howto>
  <topic>
      <title>Java</title>
      <url>http://www.java.com</url>
  </topic>
    <topic>
      <title>Python</title>
      <url>http://www.python.com</url>
  </topic>
      <topic>
        <title>Javascript</title>
        <url>http://www.javascript.com</url>
  </topic>
      <topic>
        <title>VBScript</title>
        <url>http://www.VBScript.com</url>
  </topic>
</howto>

(3)准备xsl文件,a.xsl:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head><title>Real's HowTo</title></head>
<body>
<table border="1">
<tr>
<th>Title</th>
<th>URL</th>
</tr>
<xsl:for-each select="howto/topic">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="url"/></td>
</tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>

解释:

由于 XSL 样式表本身也是一个 XML 文档,因此它总是由 XML 声明起始:<?xml version="1.0"?>

把文档声明为 XSL 样式表的根元素是 <xsl:stylesheet> 或 <xsl:transform>,如需访问 XSLT 的元素、属性以及特性,我们必须在文档顶端声明 XSLT 命名空间。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 指向了官方的 W3C XSLT 命名空间。如果您使用此命名空间,就必须包含属性 version="1.0"。

<xsl:template> 元素用于构建模板,而 match="/" 属性则把此模板与 XML 源文档的根相联系

<xsl:value-of select=“howto/topic”/ > 元素用于提取某个选定节点的值,select后面是xpath用来定位xml

<xsl:for-each> 元素允许您在 XSLT 中进行循环。

(4).准备java转换代码

package com.qiuwy.mavenDemo.myTest;

import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.*;

public class XmlToHtml {
    public static void main(String[] args) {
        String src="a.xml";
        String dest="a.html";
        String xslt="a.xsl";
        
        File src2=new File(src);
        File dest2=new File(dest);
        File xslt2=new File(xslt);
        
        Source srcSource=new StreamSource(src2);
        Result destResult =new StreamResult(dest2);
        Source xsltSource=new StreamSource(xslt2);
        
        try {
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer(xsltSource);
            transformer.transform(srcSource, destResult);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

(5)执行java代码后,生成a.html文件

以上只是一个简单的例子,实际运用过程中还是要复杂很多

总结:几种生成html格式测试报告的方法的更多相关文章

  1. 【转载】总结:几种生成HTML格式测试报告的方法

    总结:几种生成HTML格式测试报告的方法 写自动化测试时,一个很重要的任务就是生成漂亮的测试报告. 1.用junit或testNg时,可以用ant辅助生成html格式: <target name ...

  2. 使用jmeter+ant进行接口自动化测试(数据驱动)之二:利用apache-ant执行测试用例并生成HTML格式测试报告

    在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 ap ...

  3. Jmeter生成html格式测试报告

    使用jmeter进行性能测试,运行完毕后生成html格式的测试报告,需要进行如下操作: 1.在C:\apache-jmeter-3.0\bin文件夹下的user.properties文本中添加如下信息 ...

  4. 用插件maven-surefire-report-plugin生成html格式测试报告

    在默认情况下,执行maven test/maven package/maven install命令时会在target/surefire-reports目录下生成txt和xml格式的输出信息. 其实ma ...

  5. eclipse 自动生成json格式的toString()方法

    文本代码 {"${member.name()}":"${member.value}", "${otherMembers}"}

  6. jmeter(二十六)生成HTML性能测试报告

    性能测试工具Jmeter由于其体积小.使用方便.学习成本低等原因,在现在的性能测试过程中,使用率越来越高,但其本身也有一定的缺点,比如提供的测试结果可视化做的很一般. 不过从3.0版本开始,jmete ...

  7. jmeter生成html格式接口自动化测试报告

    jmeter生成html格式接口自动化测试报告 jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观. 笔者刚做了这方面的尝试,总结出来分享 ...

  8. 如何使用Postman生成不同格式测试的报告

    Postman还可以生成测试报告,还是多种格式报告? Postman团队开源Newman作为Postman运营工具,该开源库使用命令行方式执行Postman 脚本,并且生成多种格式报告,还支持Post ...

  9. pytest.11.生成xml格式的测试报告

    From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...

随机推荐

  1. BizTalk证书相关操作

    OPEN SSL 神技能 从PFX文件中导出私钥 openssl pkcs12 -in Cert.pfx -nocerts -nodes -out private_pc.key 从PFX文件中导出CS ...

  2. ECMAScript 初探 - 对象篇

    一.对象 如果你用过 C++ 或 Java,肯定熟悉类(class).在 ECMAScript 中并没有 "类" 这个词, 其对应的是 "对象定义",不过这太拗 ...

  3. ng 使用阿里巴巴矢量图

    1.进入阿里巴巴矢量图标库中,选择需要下载的图标,添加进项目中 2.进去项目选择Font class 模式,然后下载到本地 3.解压下载的压缩包,把.css/.svg/.ttf/.woff/.woff ...

  4. Python 发送企业微信消息

    1.获取企业微信信息 1)我的企业 --> 企业信息 --> 企业ID 2)创建一个应用,记录该应用的 AgentId.Secret 2.python代码 #!/usr/bin/env p ...

  5. vue学习面向对象,在项目中怎么用呢?

    面向对象感觉很牛逼,可是在项目中怎么用呢? 我至今见到的用法,写了一个用户对象. 效果:只要执行了new User(userInfo)就会在cookie,localStorage存放数据. 所以最简单 ...

  6. 改写URL的查询字符串QUERY_STRING[URL重定向问号问题](转)

    查询字符串是指URL请求中"问号"后面的部分.比如,http://mysite/?foo=bar 中粗体部分就是查询字符串,其中变量名是foo,值是bar. 'last|L' (最 ...

  7. SuRF : Practical Range Query Filtering with Fast Succinct Tries

    1. Introduction 在数据库管理系统中查找某些关键字会导致很大的磁盘I/O开销,针对这一问题,通常会使用一个内存开销小并且常驻内存的过滤器来检测该关键字是否存.比如现在常用的bloom过滤 ...

  8. mvc视图双下拉框联动

    html部分的代码 <tr class="trs"> <td class="item1"><div class="ite ...

  9. python 进程和线程-进程和线程的比较以及分布式进程

    进程和线程的比较 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017631469467456 我们介绍了多进程和多线程,这是实现多任 ...

  10. CentOS 7.0 使用yum 安装 Mariadb

    第一步: 使用命令查看是否已经安装: mysql -u root -p 返回 Enter password:  时表示已经安装成功的,需要卸载安装. 第二步: 使用yum直接安装mariadb,注意带 ...