为了账号安全,请及时绑定邮箱和手机立即绑定

为什么jenkins自动执行testng中的用例

/ 猿问

为什么jenkins自动执行testng中的用例

30秒到达战场 2018-11-04 04:04:17

为什么jenkins自动执行testng中的用例


查看完整描述

1 回答

?
一只萌萌小番薯

下面看看是如何一步步实现的:
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的测试场景。

查看完整回答
反对 回复 2018-11-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信