ant+jenkins+testng+selenium集成环境搭建
一.前序工作
- 下载ant:http://ant.apache.org/bindownload.cgi
- 下载jenkins:http://jenkins-ci.org/
- 下载testng:http://testng.org/doc/index.html
二.配置
- 配置ant
- 在环境变量添加ANT_HOME=D:\Program Files\apache-ant-1.9.6
- 在PATH添加;%ANT_HOME%\bin;
- 配置好后,在cmd中运行ant –version,如出现版本号,则成功
- 在eclipse中安装testng
- For Eclipse 3.4 and above, enter http://beust.com/eclipse.
- For Eclipse 3.3 and below, enter http://beust.com/eclipse1
- 安装jenkins
直接运行下载的jenkins文件,安装完毕后,在浏览器输入http://localhost:8080/
4. 安装jenkins插件
打开jenkins,进入系统管理->管理插件,点击可选插件,勾选以下插件:
a. Email-ext plugin--管理邮件
b. HTML Publisher Plugin--保存请求生成的 html 格式的运行报告
c. EnvInject Plugin--、Shared Objects Plugin、Build User Vars Plugin、Build Name Setter Plugin--每一次请求动态生成包含用户姓名等多方面信息的 ID 以区分
d. Extended Choice Parameter plugin--用户可以在提交请求时在页面上输入多选式参数,这些动态输入将以环境变量的形式传递给执行模块影响最终请求的行为
5. 配置jenkins
进入系统管理->系统管理
a.配置JDK、ANT,如下图
b.jenkins location设置,管理员的邮件地址一定要与后面的设置的发邮件地址一致
c. 配置svn,本机安装的1.7
d. 配置邮件
e. 邮件发送默认的触发器
三. 新建job
1. 选择一个自由风格的项目
2.源码管理中,添加svn的项目地址,首次配置,需要填写svn的用户名和密码
3.增加构建步骤,选择Invoke Ant,且做如下配置
4. 增加构建后的步骤,选择Publish HTML reports和Editable Email Notification
四、 构建
1.保存后,返回该项目的工作区,在该项目下点击立即构建
2.构建完成后,可在console output中查看构建日志信息
3.构建完成后,可在HTML Repot中查看报告
4.构建成功后,可在邮箱中查看上述配置中,发送的邮件
五、ant的build.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="build">
<java classname="com.test.TestAnt" classpath="${hello_jar}"/>
</target>
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
六、搭建时出现的问题
1.jenkins提示ant不是命令。解决:查看环境变量是否配置正确,查看jenkins的配置中是否选择了相应的ant版本
2.jenkins提示乱码。解决:查看build.xml是否配置UTF-8
3.找不到相应的jar。解决:查看build.xml中引入的jar路径是否正确
4.邮件发不出去。解决:全局的系统管理员的邮件地址是否与发件人地址一致
5.全局的jenkins地址应是:IP+port,不能是localhost
-------------------------------------------附一个包含testng的build文件-------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<project name="testYun" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="build/classes"/>
<property name="runid" value="run.classpath"/>
<property name="hello_jar" value="hello.jar"/>
<!--初始化,新建文件夹 -->
<target name="init" depends="clean">
<mkdir dir="${dest}"/>
</target>
<!--导入依赖的jar包,供运行时使用 -->
<echo message="import libs" />
<path id="run.classpath">
<fileset dir="${basedir}/lib">
<include name="**/*.jar" />
</fileset>
</path>
<!--testng依赖包,固定格式 -->
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />
<!--删除class或者jar包 -->
<target name="clean">
<delete dir="build"/>
<delete file="${hello_jar}"/>
</target>
<!--编译源文件 -->
<target name="compile" depends="init">
<javac srcdir="src" destdir="${dest}" debug="on">
<classpath refid="${runid}"/>
</javac>
</target>
<!--运行时jar包路径 -->
<path id="runpath">
<path refid="${runid}"/>
<pathelement location="${dest}"/>
</path>
<!--build jar包 -->
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<!--运行程序 -->
<target name="run" depends="build">
<!--设置testng的xml文件 -->
<testng classpathref="runpath" outputDir="test-output">
<xmlfileset dir="${basedir}" includes="testyun.xml"/>
<jvmarg value="-ea" />
</testng>
</target>
</project>
ant+jenkins+testng+selenium集成环境搭建的更多相关文章
- Jenkins+PowerShell持续集成环境搭建(八)邮件通知
1. 默认邮件功能: Jenkins自带的邮件功能比较简单,配置如下: 设置默认发件人地址: 2. Email Extension Plugin 为了能够更加灵活地使用邮件功能,需要安装Email E ...
- Jenkins+PowerShell持续集成环境搭建(七)构建触发器
Jenkins 有三种类型的构建触发器,如下图: Build after other projects are built:在其他项目构建后构建: Build periodically:定时构建: P ...
- Jenkins+PowerShell持续集成环境搭建(四)常用PowerShell命令
0. 修改执行策略 Jenkins执行PowerShell脚本,需要修改其执行策略.以管理员身份运行PowerShell,执行以下脚本: Set-ExecutionPolicy Unrestricte ...
- Jenkins+PowerShell持续集成环境搭建(一)前期准备
0. 系统要求 Windows Server:本文章使用的为Windows Server 2012 JDK:本文章使用为JDK 1.8 Windows PowerShell:本文章使用为PowerSh ...
- Jenkins+PowerShell持续集成环境搭建(六)参数化构建
参数化构建可以应用于动态绑定源码地址等情况. 勾选“This build is parameterized”: 如果需要动态绑定源码地址,参考: 配置完成后构建项目变成:
- Jenkins+PowerShell持续集成环境搭建(五)SSRS项目
部署SSRS项目的原理是使用ReportingService2005类的方法实现rdl文件上传等功能. 上传rdl文件的脚本示例: $username="Victor"; $pas ...
- Jenkins+PowerShell持续集成环境搭建(三)Web项目
1. 新建一个名字为HelloWorld.Web的Freesyle项目: 2. 配置源码管理: 3. 编译配置: 版本:选择MSBuild4 文件:D:\CI\Config\HelloWorld.We ...
- Jenkins+PowerShell持续集成环境搭建(二)控制台项目
1. 新建一个名字为HelloWorld.Console的Freesyle项目: 2. 配置源码管理: 3. 编译配置: 版本:选择MSBuild4 文件:D:\CI\Config\HelloWorl ...
- 从零开始搭建Jenkins+Docker自动化集成环境
本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...
随机推荐
- platform总线globalfifo驱动
功能是使用内存的4k单元,实现读,写,偏移,清除. /************************************************************************* ...
- 【poj 3167】Cow Patterns(字符串--KMP匹配+数据结构--树状数组)
题意:给2个数字序列 a 和 b ,问按从小到达排序后,a中的哪些子串与b的名次匹配. a 的长度 N≤100,000,b的长度 M≤25,000,数字的大小 K≤25. 解法:[思考]1.X 暴力. ...
- 【GOF23设计模式】装饰模式
来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_装饰模式.IO流底层架构.装饰和桥接模式的区别 package com.test.decorator; /** * Com ...
- .NET WinForm画树叶小程序
看了一片文章(http://keleyi.com/a/bjac/nurox416.htm),是使用分型画树叶,代码是Java的,因为Java很久没弄了,改用C#实现,下载地址: 画树叶小程序下载 核心 ...
- Android-将RGB彩色图转换为灰度图
package com.example.yanlei.wifi; import android.graphics.Bitmap; import android.graphics.BitmapFacto ...
- 破解入门【OllyDebug爆破程序】
逆向破解这块我也是个刚起步的小菜,入门都还算不上吧,看了点基础教程,先动手练习一下增加点兴趣.嘿嘿 工具: peid //查壳工具 OllyDebug //反汇编.动态调试工具 ...
- android 打包错误
打包时报如下错误: Export aborted because fatal lint errors were found. These are listed in the Lint View. Ei ...
- 高级iOS面试题
非标准答案 2 1: 类方法是可以直接通过类名直接调用,无需进行实例化对象.类方法是以+开头2. 实例方法,需要显示实例化对象,为对象分配堆栈空间,并通过对象实例调用实例方法3. RUNTIME 是在 ...
- Struts2(十三)国际化-internationalization
一.国际化是什么--I18N 即internationalization 首字母i-结束字母n之间有18个字母 特征:在程序不做修改的情况下,可以根据不同的语言环境显示相应内容 二.Java内置国际化 ...
- Swift字符与字符串
学习来自<极客学院:Swift中的字符串和集合> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation /**** ...