jenkins + maven +testng 进行自动化

发表于:2017-10-19 15:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:菠萝    来源:51Testing软件测试网采编

#
maven
#
TestNG
分享:
  最近接手了一个项目的测试,在这个项目(MAVEN项目)的test目录下写了2个testNg的冒烟测试用例,想着能够在jenkins每次构建发布后能自动运行测试用例,就捣鼓了下
  一、编写testNg测试用例,并创建test.xml用例启动执行文件,配置pom文件
  1、testNg用例,这是一个冒烟测试用例,只是用来检查接口是否有返回结果
  @Test
  public void secretConfig() throws Exception{
  String commonUrl = "http://config.dooioo.net/testsecret-secret-mingan-config/test/testsecret";
  try{
  result = template.getForObject(commonUrl,JSONObject.class);
  }catch(Exception e){
  System.out.println("敏感信息配置文件获取失败");
  e.printStackTrace();
  }
  JSONArray propertySources = result.getJSONArray("propertySources");//获取文件内容
  Assert.assertNotEquals(propertySources.size(),0,"未找到文件");//判断获取的文件数量与0是否不等,并打印信息
  logger.info("正确返回敏感信息配置文件,文件数量为:" +propertySources.size() );
  }
  2、创建test.xml用例启动执行文件
  <suite name="somke">
  <test verbose="1" name="smoke" >
  <classes>
  <class name="com.lianjia.configserver.SmokeTest"/>
  </classes>
  </test>
  </suite>
  3、配置pom
  加入testng依赖
  <dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.11</version>
  <scope>test</scope>
  </dependency>
  加入maven-surefire-plugin插件用来使用maven执行用例,其中suiteXmlFile配置的是你用例执行文件的地址
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
  <suiteXmlFiles>
  <suiteXmlFile>src/test/resources/test.xml</suiteXmlFile>
  </suiteXmlFiles>
  </configuration>
  <version>2.4</version>
  </plugin>
  二、配置jekins
  一般有2种情况(我是下面第二种):
  1、被测系统与测试代码在一个工程下,则只需要构建完成后配置执行测试用例即可
  因为要达到在项目构建后对构建后的项目执行用例,所以用例执行需要放在程序部署完成之后。
  前面构建的时候配置的是跳过测试用例
  maven配置
  所以我们在部署完成后在后面在添加一个构建步骤,执行mvn test命令
  执行测试用例
  2、被测系统与测试代码不在一个工程下,那么测试代码在的项目可以配置一下触发器
  选择第一项Build after other projects are built ,在其他项目构建完后触发构建,填写你的被测系统项目
  触发器配置
  然后在构建步骤中加入执行测试
  执行测试
  整个效果就是被测项目构建完后,测试代码项目自动构建并执行测试用例
  三、收集报告
  在构建后操作中增加testNG报告收集插件
  testNG插件.png
  下面的路径默认即可
  image.png
  如果jenkins中没有此插件,可在jenkins首页系统管理-管理插件-可选插件中搜索并安装,装完后记得重启
  插件安装
  四、一切准备就绪让我们玩起来!
  点击立即构建,可以看到整个构建过程(以下只截取了后面的)
  [step08]启动项目...
  当前进程ID:22594
  部署成功!
  [00_configcenter-自动化] $ mvn test
  [INFO] Scanning for projects...
  [INFO]
  [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1[INFO]
  [INFO] ------------------------------------------------------------------------
  [INFO] Building configcenter-server 1.1.0
  [INFO] ------------------------------------------------------------------------
  [INFO]
  [INFO] **--- maven-resources-plugin:2.6:resources (default-resources) @ configcenter-server ---**
  [INFO] Using 'UTF-8' encoding to copy filtered resources.
  [INFO] Copying 1 resource
  [INFO] Copying 5 resources
  [INFO]
  [INFO] **--- maven-compiler-plugin:3.1:compile (default-compile) @ configcenter-server ---**
  [INFO] Nothing to compile - all classes are up to date
  [INFO]
  [INFO] **--- maven-resources-plugin:2.6:testResources (default-testResources) @ configcenter-server ---**[INFO] Using 'UTF-8' encoding to copy filtered resources.
  [INFO] Copying 1 resource
  [INFO]
  [INFO] **--- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ configcenter-server ---**
  [INFO] Nothing to compile - all classes are up to date
  [INFO]
  [INFO] **--- maven-surefire-plugin:2.4:test (default-test) @ configcenter-server ---**
  [INFO] Surefire report directory: /root/jenkins/workspace/00_configcenter-自动化/target/surefire-reports
  -------------------------------------------------------
  T E S T S
  -------------------------------------------------------
  Running TestSuite
  [TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "[http://testng.org/testng-1.0.dtd](http://testng.org/testng-1.0.dtd)" >" at the top of your file, otherwise TestNG may fail or not work as expected.
  正确返回配置文件,文件数量为:2
  2017-07-13 15:11:25 [main] INFO com.lianjia.configserver.SmokeTest - 正确返回普通配置文件,文件数量为:2正确返回配置文件,文件数量为:1
  2017-07-13 15:11:25 [main] INFO com.lianjia.configserver.SmokeTest - 正确返回敏感信息配置文件,文件数量为:1
  Tests run: 2, Failures: 0, Errors: 0, Skipped: 0,
  Time elapsed: 22.058 sec
  Results :
  Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD SUCCESS
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 24.395 s
  [INFO] Finished at: 2017-07-13T15:11:26+08:00
  [INFO] Final Memory: 16M/169M
  [INFO] ------------------------------------------------------------------------
  TestNG Reports Processing: START
  Looking for TestNG results report in workspace using pattern: **/testng-results.xml
  Saving reports...
  Processing '/root/jenkins/jenkins_home/jobs/00_configcenter-自动化/builds/9/testng/testng-results.xml'
  TestNG Reports Processing: FINISH
  Finished: SUCCESS
  可以在项目首页查看结果,还可以在jenkins中加入邮件插件,将结果邮件通知给自己
  执行结果
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号