文档章节

selenium+testng+ant+jenkins 搭建

helloOne
 helloOne
发布于 2016/03/17 10:43
字数 875
阅读 65
收藏 0
点赞 1
评论 0

selenium+testng+ant+jenkins 手记     

会不会搭建测试平台是一般测试工程师和高级测试工程师分水岭 ----tobecrazy

我们项目有现成的测试平台,使用的是selenium grid+testng+ant+jenkins+VM

 

但是我平时用的是selenium+testng并未体验过使用ant 和jenkins,今天心血来潮尝试使用一下jenkins.

Jenkins简介:

  •  Jenkins是一个开源框架

  •  Jenkins可执行重复的jobs,主要使用在两方面 

            1.可持续build或test project

            2.监控外部执行的jobs

  •   自动build发邮件。。。。。

    了解更多看https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

    首先安装Jenkins,下载windows平台的版本

    由于安装比较简单,这里就不再介绍

安装ant,下载ant zip文件,解压到C:\Program Files\apache-ant-1.9.4

在系统变量添加ANT_HOME,在PATH中添加%ANT_HOME%\bin;

之后再CMD运行ant -version

若显式:Apache Ant(TM) version 1.9.4 compiled on April 29 2014 

说明ant 配置成功

  1. 使用ant 编译工程,必须有一个xml文件,默认build.xml

  2. 每个build文件配置一个default target,执行ant命令会执行这个target

首先了解一下简单使用ant

使用note pad 写一个class,保存为Test java

在cmd尝试编译:javac Test.java

如官方没有报错,恭喜你,可以进行下一步

使用ant所做的操作和命令行输入是一样的,只不过所有的命令转换为xml标签:

这次配置如下:

每个target是一个操作,clean是删除build目录,compile是编译,run是执行java class


之后在命令行输入ant(cmd切换到该目录)

结果如下:

        

D:\AntTest>ant
Buildfile: D:\AntTest\build.xml
[echo] The base dir is: D:\AntTest

clean:
[delete] Deleting directory D:\AntTest\build

compile:
[mkdir] Created dir: D:\AntTest\build\classes
[javac] D:\AntTest\build.xml:11: warning: 'includeantruntime' was not set, d
efaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 1 source file to D:\AntTest\build\classes

run:
[echo] Compile dir is: D:\AntTest\build\classes
[java] This ANT HOME
[java] C:\Program Files\apache-ant-1.9.4

BUILD SUCCESSFUL
Total time: 1 second

为了配合使用selenium webdriver打开eclipse创建名为Demo的项目

接下来就是使用Jenkins,如果你的Jenkins安装成功,打开http://localhost:8080/会显示Jenkins主页

点击新建->输入项目名->选择“构建一个自由风格的软件项目”->构建->增加构建步骤->选择invoke ANT
接下来配置如下:

 

此时准备ant build.xml放到工程的根目录

build.xml内容如下,testng 和selenium的jar包需要加载,所以设置

<path id="run.classpath">
由于项目使用的UTF-8编码,在编译时报错所以添加
  <javac srcdir="src" destdir="build/classes" debug="on" encoding="UTF-8">

更多ant和testng  classname="org.testng.TestNGAntTask"是固定格式

参考:http://testng.org/doc/index.html

 

接下来在项目添加几个case,项目目录如下

准备testng的配置文件如下,放在工程的根目录下

 

接下来就是见证奇迹的时候:

在Jenkins里选择构建

Building in workspace C:\Program Files (x86)\Jenkins\workspace\Demo
[workspace] $ cmd.exe /C '""C:\Program Files\apache-ant-1.9.4\bin\ant.bat" -file Demo run && exit %%ERRORLEVEL%%"'
Buildfile: C:\Users\Young\workspace\Demo\build.xml
     [echo] import libs clean:
   [delete] Deleting directory C:\Users\Young\workspace\Demo\build compile:
     [echo] mkdir
    [mkdir] Created dir: C:\Users\Young\workspace\Demo\build\classes
    [javac] C:\Users\Young\workspace\Demo\build.xml:21: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 6 source files to C:\Users\Young\workspace\Demo\build\classes run:
   [testng] [TestNG] Running:
   [testng]   C:\Users\Young\workspace\Demo\testng.xml
   [testng] 
   [testng] Fast test
   [testng] Slow test
   [testng] Starting ChromeDriver (v2.9.248315) on port 43260
   [testng] Starting ChromeDriver (v2.9.248315) on port 20660
   [testng] Starting ChromeDriver (v2.9.248315) on port 13803
   [testng] cookie write to file
。。。。


© 著作权归作者所有

共有 人打赏支持
helloOne

helloOne

粉丝 1
博文 37
码字总数 4035
作品 0
深圳
QA/测试工程师
三步会展策划

企业参加展览会的主要意图是为了突出企业的形象和推销产品的,那么一个展台从计划到而搭建需要哪些?怎样来做才可以到达企业想要到达的结果呢? A、选择好展位,参展企业的展台设计搭建能否吸...

qq5a4de2212cc59 ⋅ 01/04 ⋅ 0

为什么用Docker,Docker究竟有什么用呢

近年来,Docker越来越火爆,一大堆新概念,轻量级虚拟机,集装箱等概念,眼光缭乱。 慢慢也尝试用vagrant+docker搭建开发环境 和 服务器也用docker搭建测试环境,再逐步正式环境也用上docke...

小和 ⋅ 2016/11/03 ⋅ 2

应用软件学习总结(包括监控,自动化运维工具,WEB服务等)

应用软件学习总结 目录 版本控制系统 SVN部署及使用 Git从入门到熟悉 监控系统 一健安装Zabbix 自动化运维工具 Ansible自动化运维工具安装及使用 VPN专线 PPTP服务器端部署到客户端连接使用 ...

yht_1990 ⋅ 2016/07/19 ⋅ 0

在Ubuntu 11.10和12.04 编译构建 OpenJDK 7

如何在Ubuntu 11.10和12.04 搭建OpenJDK 7 这篇文章将会知道你搭建OpenJDK 7 在你的64为Ubuntu Linux机上没有很多的尝试和错误。它基于官方OpenJDK搭建 但是这个README文件是过时的,这就是为...

zhouxingxing ⋅ 2012/04/11 ⋅ 4

(13)HBase 1.2.6 集群部署

1.引言 在前面的博客中我们介绍的伪分布安装,在本篇博客中就主要介绍一下的集群部署,由于是一款之上的数据库,因此我们在安装之前需要首先部署的集群,其次需要使用进行管理,因此我们也需...

LoveCarpenter ⋅ 2017/12/15 ⋅ 0

【文集】 Unity 游戏框架搭建

游戏总是需要一个框架,才能更好的开发,Unity下也不例外 Unity 游戏框架搭建 (一) 概述 Unity 游戏框架搭建 (二) 单例的模板 Unity 游戏框架搭建 (三) MonoBehaviour单例的模板 Unity 游戏框...

CatherinePlans ⋅ 2017/11/05 ⋅ 0

使用Verdaccio搭建npm仓库

使用Verdaccio搭建npm仓库 曾静的技术博客2017-12-241 阅读 npm搭建仓库 Verdaccio是一个轻量级的私有NPM的Registry(从 Sinopia fork过来的,sinopia最后一次更新是在几年前了)。最开始是打...

曾静的技术博客 ⋅ 2017/12/24 ⋅ 0

【转帖】测试环境的搭建和维护

只要做过一次测试,就一定知道测试环境,但测试环境是如何搭建和维护的呢?就不一定所有人都明白了。 测试环境的搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,...

12332111ss ⋅ 2016/04/28 ⋅ 0

ssi环境搭建,大家是怎么处理版本兼容性的?

在java平台上搭建框架,比如搭建ssi(springmvc+spring+mybatis),搭建框架会用到很多包,大家是怎么找到互相兼容的版本的?是在网上参考其他人搭建的,还是有一个专门找兼容的方法呢?...

码农陈大浏 ⋅ 2017/04/17 ⋅ 1

老师叫我搭建一个推荐系统。

老师叫我搭建一个婚恋网站的推荐系统,算法选取之后我就搞不懂了,搭建系统是怎么个搭建法呢,我是先用python抓取婚恋网站的数据,然后选取推荐算法,但是之后搭建系统怎么做呢?

yuzinan ⋅ 2014/05/26 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 15分钟前 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 47分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部