转自:http://qa.blog.163.com/blog/static/190147002201581634549893/
希望实现的场景:Jenkins中的Job可针对不同浏览器,不同环境,运行不同的测试用例集,但测试用例只保持一份。
具体实现的思路:在运行Jenkins Job时传入参数,运行 mvn test 命令时把相应的参数带上,最终影响被执行的测试用例。
 
下面看看是如何一步步实现的:

1、在TestNG的XML中设置参数。下 面的截图中,我设了两个参数,一个是testEnv,另一个是browser。参数的值可以直接写死,也可以由外部传入。参数有不同的作用域,如直接写 在<suite>下,那他的作用域就是整个suite。如写在<test>下,那他的作用域就是所在的test。

2、在测试代码中使用参数。
如下所示,我是在beforeClass 方法中,根据传入的两个参数来初使化浏览器和load 相应环境的测试数据。
3、修改pom.xml文件
 

4、Jenkins job 传入参数并执行mvn命令

在job中,我设置了两个参数,并给出了默认值。执行job时,可直接使用该默认值或根据实际情况把参数的值改成自己想要的。

下面是Maven命令:
mvn clean test -DtestEnv=%testEnv% -DxmlFileName=%xmlFileName%
执行这条命令时,我们把testEvn及xmlFileName两个参数的值传入了pom.xml文件,接着,Maven在调用TestNG时又会把参数传过去。经过如上四个步骤,我们可以通过参数传递,灵活的指定测试环境、测试范围等,而不需要对测试脚本做任何改动。
这边要讲下xmlFileName这个参数。因为考虑到要执行不同的用例集,比如只针对某一模块进行自动化测试,或对项目所有的功能进行全面回归,我们可以创建不同的TestNG XML文件,然后在执行mvn命令时指定你想要跑的那个XML文件。
该方法适用于所有使用Jenkins + Maven + TestNG的测试场景。

Jenkins,Maven及TestNG在自动化测试的应用(转)的更多相关文章

  1. 【jenkins】jenkins+maven+gitlab+testng,jenkins配置

    电脑版本:windows10企业版 jenkins配置: 1.general配置,这里的配置比较简单,基本默认就可以了 2.源码管理 2.1填写git地址,从你的gitlib项目里去找.不会的自行百度 ...

  2. Jenkins Maven Selenium TestNG踩坑记

    1)Maven TestNG什么的都配置好了,在本地用eclipse->Run AS->MAVEN INSTALL运行正常 2) Jenkins安装了插件,也建立了MAVEN项目.MAVE ...

  3. Jenkins+maven(testng)项目(本地项目配置)

    一.前提: 1. Jenkins下载安装. 2. testng的Maven项目. 二.检测: maven项目自身配置及检测. 1. POM.XML配置文件增加: <build> <p ...

  4. Jenkins+maven+jmeter+eclipse搭建自动化测试平台

    一.准备工作 1.jmeter准备测试脚本 2.maven环境配置 3.eclipse创建maven项目 4.Jenkins集成项目 二.jmeter准备测试脚本 使用jmeter准备测试脚本(不管录 ...

  5. Jenkins + Maven + TestNG参数化调用测试用例

      希望实现的场景:Jenkins中的Job可针对不同浏览器,不同环境,运行不同的测试用例集,但测试用例只保持一份. 具体实现的思路:在运行Jenkins Job时传入参数,运行 mvn test 命 ...

  6. 基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架

    接口自动化框架 项目说明 本框架是一套基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport而设计的数据驱动接口自动化测试框架,TestNG ...

  7. Maven捆绑TestNG实现测试自动化执行、部署和调度

    一. 需求介绍 自动化测试,尤其是接口测试时,要写大量的测试用例,这些测试用例我们当然首选使用TesteNG编写,用例数量大,还涉及各种依赖包之类的问题,因此用Maven管理也是最方便最易实现的. 面 ...

  8. Jenkins+Maven+Git CI环境搭建手册

    Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...

  9. Maven安装testNG

    1.Maven安装testNG (1)打开网站:http://testng.org/doc/maven.html (2)复制如下代码,粘贴到项目的pom.xml文件: 1 <dependency ...

随机推荐

  1. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下   Py ...

  2. 【Python之旅】第六篇(七):开发简易主机批量管理工具

    [Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...

  3. 怎么在后台修改前台html页面的key、title、description

    public void UpdateMeta(string title, string keyword, string desc) { ; i >= ; i--) { if (this.Head ...

  4. CSS从大图中抠取小图完整教程(background-position应用) (转)

    自认为把background-position的应用讲得非常通俗易懂的教材.做个记号. 相信很多喜欢研究网页界面的童鞋都遇到过一个奇妙的现象:网页中很多图片素材被合成在一张图片上. 起初小菜模仿网站的 ...

  5. SQL 里面的COALESCE函数

    在SQL里面除了is null 还有这样一个还用的方法 COALESCE(值[, ...]) select COALESCE(NULL,NULL,'AAAA') -> 'AAAA' 意思是前面的 ...

  6. Web弹框类

    using System; using System.Text; namespace Core { /// <summary> /// MessageBox 的摘要说明. /// < ...

  7. JavaScript Unicode字符操作

    charCodeAt() 方法 定义和用法charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数.方法 charCodeAt() 与 ...

  8. ueditor asp.net版本更改图片保存路径

    目的:把本地上传的图片放置到跟目录下的Images/Upload文件夹下. 修改步骤: 1.ueditor.config.js文件中的, imagePath: URL + "net/&quo ...

  9. 简单实现图片间的切换动画 主要用到ViewPager

    简单实现图片间的切换动画 主要用到ViewPagerViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view.ViewPager类需要一个PagerAdapter适 ...

  10. 合理计划 dictionary cache 大小

    [数据字典缓冲区(Data Dictionary Cache)  ] 用于存放Oracle系统管理自身所需要的所有信息,包括登录的用户名.用户对象.权限等. 查看 data dictionary ca ...