Jenkin+TestNG进行自动化测试执行
1.登陆jenkins'后,主页面有一个jenkins管理选项,进入该模块,对插件,系统进行配置。(安装一个extend choice parameter插件)
2.点击new item新建一个项目,选择自由风格的工程;
3.extend choice parameter插件使用:
在构建参数选项,选择extend choice parameter,输入name,比如selectcase,然后在value那里填入case的名字(和xml里或者脚本的名字一致),详细步骤可以参考这里:http://www.ibm.com/developerworks/cn/opensource/os-autotesting-jenkins-testing/
4.在项目高级选项,配置你的项目路径;选择Use custom workspace, 在Directory栏填入项目工程路径, 如E:\jenkins\workspace\WebUIAutomation
5.在版本控制选项,如果不用版本控制,选择none; (如果需要版本控制,可以选择svn, github等,然后填上你的版本库地址即可。)
6.建一个run.bat文件,内容如下,并将该bat放入你本地工程的根目录
java -cp E:\jenkins\workspace\WebUIAutomation\bin;E:\jenkins\workspace\WebUIAutomation\libs\* org.testng.TestNG SCI_WebUI_BVT.xml
7.在build选项那里,选择Execute windows batch commnad,填入run.bat
保存。
8. 或者通过ant来进行构建:在工程根目录建一个build.xml文件,内容如下。
<project basedir="." default="regression" name="automation test">
<!-- 变量设置 -->
<property name="base.dir" value="/tmp/workspace/WebUIAutomation"/>
<property name="testng.output.dir" value="${base.dir}/test-output"/>
<property name="3rd.lib.dir" value="${base.dir}/libs"/>
<property name="testng.file" value="SCI_WebUI_BVT.xml"/> <!-- testng任务 -->
<taskdef resource="testngtasks" classpath="${3rd.lib.dir}/testng6.8.jar"/> <!-- 引用包设置 -->
<path id="classes">
<fileset dir="${3rd.lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement location="${base.dir}/bin"/>
</path> <!-- 每次构建清空之前构建文件 -->
<target name="clean">
<delete dir="${base.dir}/bin"/>
</target> <!-- 编译文件 -->
<target name="compile" depends="clean">
<mkdir dir="${base.dir}/bin"/>
<javac srcdir="${base.dir}/src" destdir="${base.dir}/bin" classpathref="classes" includeantruntime="off" debug="on" debuglevel="lines,vars,source"/>
</target> <!-- 运行指定的xml -->
<target name="regression" depends="compile">
<testng outputdir="${testng.output.dir}" classpathref="classes" delegateCommandSystemProperties="true">
<xmlfileset dir="${base.dir}" includes="${testng.file}"/>
</testng>
</target>
</project>
建好文件后再jenkins的Build部分,选择execute shell或者invoke ant, 我这里选择的是invoke ant,然后在targets栏填入build.xml文件里的target name。
之后回到项目页面,选择build,选择build参数(这里就可以看到前面创建的selectcase选择框了,选择你要执行的case),点击build就可以开始执行测试了。执行完成后在左边会显示所有build的记录,点开某一个记录,通过console output可以查看运行的log。
Jenkin+TestNG进行自动化测试执行的更多相关文章
- 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
1.简介 在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试.这就需要我们暂时不让一些t ...
- jenkins、ant、selenium、testng搭建自动化测试框架
如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开ec ...
- testng.xml顺序执行多个case配置
testng.xml顺序执行多个case配置 项目结构如图:
- testNG之顺序执行
@Test testNG1.java: import org.testng.annotations.Test; public class testNG1 { @Test public void t ...
- 自动化测试框架selenium+java+TestNG——TestNG注解、执行、测试结果和测试报告
TestNG是java的一个测试框架,相比较于junit,功能更强大和完善,我是直接学习和使用的TestNG就来谈下TestNG的一些特点吧. TestNG的特点 注解 TestNG使用Java和面向 ...
- Jenkins,Maven及TestNG在自动化测试的应用(转)
转自:http://qa.blog.163.com/blog/static/190147002201581634549893/ 希望实现的场景:Jenkins中的Job可针对不同浏览器,不同环境,运行 ...
- maven+selenium+java+testng+jenkins自动化测试
最近在公司搭建了一套基于maven+selenium+java+testng+jenkins的自动化测试框架,免得以后重写记录下 工程目录 pom.xml <project xmlns=&quo ...
- java+Selenium+TestNg搭建自动化测试架构(3)实现POM(page+Object+modal)
1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例 ...
- TestNG设置测试用例执行优先级
@Test(priority = x)设置测试用例执行优先级.x默认为0,0的优先级最高,0>1>2>3... import org.testng.annotations.Test; ...
随机推荐
- 元素属性和js数组
arrObj.push(数组元素) --增加arrObj.splice(index,howmany)--删除 一般howmany为1, index,开始截取掉的位置,arrObj[index].P ...
- unity3d引擎程序员养成
标准流程:1. c++ Primer 英文版(第四或第五版)全部看完习题做完是必须的.渲染程序设计比较复杂,后期会用到c++的全部特性.c++学的越好后面越轻松.要看英文版,计算机翻来覆去就那么几个单 ...
- 如何通过logcat查看系统程序的意图
如果在logcat中不能看到系统程序启动时的意图的类名, 以打开图库(gallery)为例,可以通过在ddms中如图设置,就可以在tomcat中查看到gallery启动时的意图.
- FileFilter
FileFilter 下面的例子中我们创建了一个FileFilter类,此类根据文件名的扩展名是否为.png来筛选文件.创建FileFilter实例之后需要将此实例作为参数传给File的listFil ...
- asp.net MVC日志插件Log4Net学习笔记一:保存日志到本地
log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...
- [转载]Jquery Form插件表单参数
表单插件API提供了几个方法,让你轻松管理表单数据和进行表单提交. ajaxForm增 加所有需要的事件监听器,为AJAX提交表单做好准备.ajaxForm不能提交表单.在document的ready ...
- Spark中shuffle的触发和调度
Spark中的shuffle是在干嘛? Shuffle在Spark中即是把父RDD中的KV对按照Key重新分区,从而得到一个新的RDD.也就是说原本同属于父RDD同一个分区的数据需要进入到子RDD的不 ...
- IsBadReadPtr|IsBadWritePtr调试崩溃
遇到一未找到必然出现条件的崩溃,不知道什么时候能触发崩溃,崩溃dump显示,试图访问了非法的内存或者写入了非法的内存 此时如下两个函数就比较有用了: BOOL WINAPI IsBadReadPtr( ...
- SQL四种语言:DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- 【转】VMware设置共享文件夹之后Ubuntu中看不到怎么办?
一.共享文件夹设置好了,但是在虚拟机中的Ubuntu系统下却看不到,怎么办? 一种可能的原因是系统没有自动挂载,解决办法: 1.安装: sudo apt-get insta ...