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简介 ...
随机推荐
- visual studio 2013 配置开发环境
https://www.visualstudio.com/explore/xamarin-vs http://sourceforge.net/projects/easyeclipse/files/?s ...
- Urlencode and Urldecode 命令行
由于经常使用,简单记录之 $ alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.ar ...
- 隐藏android系统标题栏和状态栏
//隐藏系统title requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 getWindow().addFlags(WindowManage ...
- php正规则表达式学习笔记(几个常用函数的区别)
preg_mache()函数和 preg_mache_all()函数的区别: preg_mache()只会匹配规则中的字符一次, preg_mache_all()会匹配符合条件的所有字符! 例子对比: ...
- android studio :com.android.support:appcompat-v7:21.+ 报错
android studio :com.android.support:appcompat-v7:21.+ 报错: 在project——>app——>build.gradle修改: app ...
- ADO.NET 完整的修改和删除
namespace 完整修改{ class Program { static void Main(string[] args) { bool has = false; Console.Write(&q ...
- VS2010中重命名项目
通常,在项目开发初始,一般都是先做一个Demo,以方便进行修改设计.演示等,这可能导致项目命名并不符合最后的规范,则需要修改项目名称.VS没有推出这方面针对性的功能,网友们也纷纷自己写了软件. 方案一 ...
- AutoCAD .NET二次开发(三)
在ArcGIS中,锁是一个经常遇到的东西,在打开一个该当时要锁定,编辑一个文档是再次锁定.要深入理解这个,要学习一下进程与线程.在CAD.NET中,也有Lock与Unlock. 获取一个文档,在进行处 ...
- OAUTH 协议介绍
OAUTH 产生背景 随着互联网的深入发展,一些互联网巨头积累了海量的用户和数据.对于平台级软件厂商来说,用户的需求多种多样,变化万千 以一己之力予以充分满足,难免疲于本命.因此将数据以接口的形式开放 ...
- 实验12:Problem J: 动物爱好者
#define null ""是用来将字符串清空的 #define none -1是用来当不存在这种动物时,返回-1. 其实这种做法有点多余,不过好理解一些. Home Web B ...