转自: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. Builder 建造者模式

    简介 建造者模式的概念:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以有不同的表示. 大概的意思,就是一套的构建过程可以有不同的产品(表示)出来.这些产品(表示)都按照这一套的构建过程被 ...

  2. Sublime Text插件之Emmet

    转载:http://www.w3cplus.com/tools/using-emmet-speed-front-end-web-development.html Emmet插件以前被称作为Zen Co ...

  3. Linq101-Aggregate

    using System; using System.Collections.Generic; using System.Linq; namespace Linq101 { class Aggrega ...

  4. MVC3中 ViewBag、ViewData和TempData的使用和区别(不是自己写的)

    (网上抄的,并未消化)在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag 是动态类型(dynamic) ...

  5. .Net程序员关于微信公众平台测试账户配置 项目总结

    今天项目第一次验收,夜晚吃过晚饭后,想把项目中用到的关于微信配置总结一下,虽然网上关于这方面的资料很多很多,还有官方API,但是总感觉缺点什么,就像期初做这个项目时,各方面找了很久的资料,说说配置吧! ...

  6. linux中挂载硬盘报错(you must specify the filesystem type)

    公司有台服务器做了raid1,由于容量小,需扩容,原先打算再添加两块硬盘进去做多一组raid1,组成两组raid1混合使用,但是公司抠门,买到服务器只能安装3块硬盘,无奈之下只能放多一块进去单独挂载分 ...

  7. 【转】UITextView 修改键盘 的return按钮

    原文:http://www.apkbus.com/blog-107838-45740.html 1 #import <UIKit/UIKit.h>2 3 @interface TextVi ...

  8. App Store审核指南(中文版)2010版

    前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业.我们希望帮助您加入这个成功的组织.这是我们首次发布<应用程序 ...

  9. 你好,C++(4)2.1.3 我的父亲母亲:编译器和链接器 2.1.4 C++程序执行背后的故事

    2.1.3  我的父亲母亲:编译器和链接器 从表面上看,我是由Visual Studio创建的,而实际上,真正负责编译源代码创建生成可执行程序HelloWorld.exe的却是Visual Studi ...

  10. Python 3中bytes和str的分别

    最近把一段py2的代码转换到py3的代码,结果运行到向socket中写数据的代码部分出现了'str' does not support the buffer interface这样一个错误. 一番搜索 ...