使用ant运行testng的testng.xml并且使用testng-results.xsl美化结果
先看build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="testoutput" name="automation test"> <!--默认使用testoutput任务-->
<property name="base.dir" value="E:/eclipse/workplace/testng"/><!--项目根目录-->
<property name="testng.output.dir" value="${base.dir}/result"/><!--配置结果输出地址-->
<property name="lib.dir" value="${base.dir}/lib"/><!--设置其他jar包目录-->
<property name="testng.file" value="${base.dir}/testng.xml"/> <!--调用的testng用例执行xml文件,这里是文件名-->
<property name="testdir" location="test" /> <!--设置编译的2进制文件目录-->
<taskdef resource="testngtasks" classpath="${lib.dir}/testng.jar"/><!--导入testng的jar包-->
<target name="clean"> <!--清除之前的2进制文件-->
<delete dir="${testdir}"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="${testdir}"/><!--新建2进制文件存放目录-->
<mkdir dir="result"/> <!--新建结果导出目录-->
<javac srcdir="${base.dir}/src" encoding="UTF-8" destdir="${testdir}" classpathref="classes"
includeantruntime="off" debug="on" debuglevel="lines,vars,source"/> </target> <!--编译java程序-->
<path id="classes"> <!--设置jar包相关-->
<fileset dir="${lib.dir}" includes="*.jar"/>
<pathelement location="${testdir}"/>
<pathelement location="${base.dir}/src" />
</path>
<target name="runtest" depends="compile">
<!--运行testng文件-->
<!-- 在target里面新建一个testng标签,里面需要设置的属性有:outputdir – 测试结果输出目录;classpathref – 那些自动化测试代码的目标路径,通常就是编译完成以后的那个目标路径,例如xxx/bin;delegateCommandSystemProperties – 接受传递命令行参数作为系统变量,这个设置为true可以在调用Ant的时候通过 -Dfoo=value 把参数传递给TestNG;里面还有一个xmlfileset节点,这个节点就是指定testng.xml文件的目录以及具体文件。 -->
<testng outputdir="${base.dir}/test-output"
classpathref="classes"
delegateCommandSystemProperties="true">
<xmlfileset dir="${base.dir}" includes="testng.xml"/> <!--在指定路径下,找文件名由testng.file-->
</testng> <!--定义的testng.xml文件-->
</target>
<tstamp>
<format property="CURTIME" pattern="yyyyMMdd_HHmmss" locale="us"/> <!--设置当前时间-->
</tstamp>
<path id= "test.classpath" >
<fileset dir= "${lib.dir}" includes= "*.jar" />
</path>
<target name= "testoutput" depends="runtest" >
<xslt in= "test-output/testng-results.xml" style= "test-output/testng-results.xsl"
out= "result/${CURTIME}/index.html " >
<param name= "testNgXslt.outputDir" expression="${base.dir}/result/${CURTIME}/" />
<param name="testNgXslt.showRuntimeTotals" expression="true"/>
<param name="testNgXslt.sortTestCaseLinks" expression="true" />
<param name="testNgXslt.testDetailsFilter" expression="FAIL,SKIP,PASS,CONF,BY_CLASS" />
<classpath refid= "test.classpath" />
</xslt>
</target>
</project>
在eclipse中,他的结构是:
project:
|
src(存放源代码)
|
lib(存放jar包)
|
test-output(存放testng的结果的目录)
|
testng.xml(testng的设置)
|
build.xml(ant的设置)
准备:
testng-xslt-1.1.2-master文件下载地址
testng.jar文件 下载地址
操作:
1.把testng-xslt-1.1.2-master中\lib\saxon-8.7.jar放入eclipse 的lib目录下
2.把testng-xslt-1.1.2-master中\src\main\resources\testng-results.xsl放入eclipse 的test-output的文件夹中
3.把上面的代码放入build.xml
4.点击build.xml右键run: Ant build
使用ant运行testng的testng.xml并且使用testng-results.xsl美化结果的更多相关文章
- Ant构建原理及build.xml文档描述
最近在改写jmeter,用到ant构建,记录一下. Ant的概念Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant ...
- Ant 的最完整build.xml(转)
Ant的概念 Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨平 ...
- IDEA运行TestNG报错rg.testng.TestNGException: org.xml.sax.SAXParseException;
从eclipse复制的依赖注解,一运行测试脚本发现报错如下: "F:\Program Files\Java\jdk1.7.0_17\bin\java" -ea -Didea.lau ...
- TestNG官方文档中文版(3)-testng.xml
TestNG的官方文档的中文翻译版第3章,原文请见 http://testng.org/doc/documentation-main.html 3 - testng.xml 调用TestNG由几种不同 ...
- TestNG入门教程-12-Java代码执行testng.xml和失败后重跑
前面我们都在IDEA上右键testng.xml文件来运行testng用例,这个在编写测试用例过程是 可以这么做,但是,如果测试用例写完了,也是这么做吗?有没有什么方法,例如自动化去实现.测试脚本维护后 ...
- Ant运行build.xml执行服务器scp,异常解决jsch.jar
公司ant打包上线 一直出现这个问题. Ant运行build.xml执行服务器scp,异常解决jsch.jar BUILD FAILEDD:\eclipse\eclipse-jee-luna-SR2- ...
- 解决:在pom.xml处理添加testng依赖之外,需对testng进行关联
问题描述:当maven项目中下载了testng包,在调用后,执行maven test,未执行testng.xml中指定的测试类. 解决:在pom.xml处理添加testng依赖之外,需对testng进 ...
- 【TestNG】使用代码方式调用TestNG用例执行
TestNG的用例除了直接运行之外,还可以使用代码来调用,这样做的好处在于我们可以将其嵌入其他代码中,来执行这些TestNG用例,方法如下: 1.直接调用用例类 范例:定义了两个测试用例类为Depen ...
- ☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(上)
TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便. 详细使用说明请参考官方链接:https://testng ...
随机推荐
- 深入理解String.intern()方法
首先进入intern()的源码中, 首先说一点:1.7后的JVM为String在方法区中开辟了一个字符串常量池,如果一个String()不是new()出来的,都将在常量池中拿字符. 注释翻译过来就是, ...
- ubuntu16.04 安装composer和 laravel
一.安装composer $ sudo apt-get update $ sudo apt-get install wget 下载composer.phar $ wget https://getcom ...
- summernote富文本编辑器配合validate表单验证无法进行表单提交的问题
1.使用summernote富文本编辑器提交图片到服务器 在使用bootstrap中,我们用到了summernote富文本编辑器,使用summernote将图片上传到服务器中,参考我的上篇文章http ...
- MD5加密和RSA加密
1.MD5加密 MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不需要支付任何版权费用. MD5的功能: ①.输入任意长 ...
- ZOJ 3324 Machine
线段树,延迟标记. 记录一下每个节点代表的区间的最小值,以及左右端点是否为最小值,记录区间被下压几次作为延迟标记,再记录一下这个区间中有多少个最小值的连通块. $n$最大有$1$亿,可以开动态线段树避 ...
- Bzoj 2286 & Luogu P2495 消耗战(LCA+虚树+欧拉序)
题面 洛谷 Bzoj 题解 很容易想到$O(nk)$的树形$dp$吧,设$f[i]$表示处理完这$i$颗子树的最小花费,同时再设一个$mi[i]$表示$i$到根节点$1$路径上的距离最小值.于是有: ...
- RabbitMQ (十二) 消息确认机制 - 发布者确认
消费者确认解决的问题是确认消息是否被消费者"成功消费". 它有个前提条件,那就是生产者发布的消息已经"成功"发送出去了. 因此还需要一个机制来告诉生产者,你发送 ...
- 【BZOJ 2118】 2118: 墨墨的等式 (最短路)
2118: 墨墨的等式 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+…+anxn=B存在非负整数解的条件,他要求你编写一个程序,给定N.{an}.以及B的取值范围,求 ...
- xcoj 1103 插线板(树链刨分求最大子段和)
1103: 插线板 时间限制: 1 Sec 内存限制: 128 MB提交: 14 解决: 7 标签提交统计讨论版EditTestData 题目描述 从前有一堆古老的插线板,任意两个插线板之间只有一 ...
- hdu 1251 (Trie水题)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...