JAVA接口自动化测试----Jenkins持续集成(二)

上一节介绍环境的准备和jenkins所需要的插件,这篇主要介绍项目与Jenkins的结合应用

如下:

一、maven项目的pom设置

pom文件部分如下

        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  4.0.0

  chuanglan

  Testgroup

  1.0-SNAPSHOT

  jar

  Testgroup Maven Webapp

 

  http://www.example.com

 

    UTF-8

    1.7

    1.7

    1.8.10

   

    4.0.2.RELEASE

   

    1.7.7

   

   

 

 

   

   

      io.rest-assured

      rest-assured

      3.1.0

   

   

      ru.yandex.qatools.allure

      allure-testng-adaptor

      1.3.6

     

       

          org.testng

          testng

       

     

   

   

      com.google.code.gson

      gson

      2.8.2

   

   

   

      io.qameta.allure

      allure-testng

      2.7.0

   

   

   

      ch.ethz.ganymed

      ganymed-ssh2

      build210

   

   

      com.jcraft

      jsch

      0.1.55

   

   

   

      com.relevantcodes

      extentreports

      2.41.1

     

   

   

      com.vimalselvam

      testng-extentsreport

      1.2.0

   

   

      com.aventstack

      extentreports

      3.0.6

   

   

   

      io.netty

      netty-all

      4.1.32.Final

   

   

   

      info.cukes

      cucumber-java

      1.2.4

   

   

      info.cukes

      cucumber-testng

      1.2.4

   

   

   

      org.projectlombok

      lombok-maven-plugin

      1.16.18.1

   

   

      commons-httpclient

      commons-httpclient

      3.1

   

   

   

      org.jsoup

      jsoup

      1.10.2

   

   

   

      com.oracle

      ojdbc6

      11.2.0.3

     

   

   

   

      com.jayway.jsonpath

      json-path

      2.2.0

   

   

      org.assertj

      assertj-core

      3.8.0

   

   

   

      dom4j

      dom4j

      1.6.1

   

   

      javax

      javaee-api

      7.0

   

   

      org.slf4j

      slf4j-api

      ${slf4j.version}

   

   

      org.slf4j

      slf4j-log4j12

      ${slf4j.version}

   

   

   

      org.kohsuke.stapler

      json-lib

      2.4-jenkins-2

   

   

   

      com.alibaba

      dubbo

      2.5.3

     

       

          spring

          org.springframework

       

     

   

   

   

      log4j

      log4j

      1.2.17

   

   

   

      org.mockito

      mockito-all

      2.0.2-beta

   

   

   

      com.alibaba

      fastjson

      1.2.47

   

   

   

      commons-io

      commons-io

      2.6

   

   

   

      junit

      junit

      4.12

   

   

   

      org.testng

      testng

      6.14.3

     

   

   

   

      com.google.inject

      guice

      4.1.0

     

      test

   

   

   

      org.uncommons

      reportng

      1.1.4

      test

     

       

          org.testng

          testng

       

     

   

   

      velocity

      velocity-dep

      1.4

   

   

   

      com.google.guava

      guava

      18.0

   

   

   

      org.apache.commons

      commons-lang3

      3.7

   

   

   

      org.apache.httpcomponents

      httpclient

      4.5.5

   

   

   

      net.sourceforge.jexcelapi

      jxl

      2.6.12

   

   

   

      org.apache.poi

      poi

      3.16

   

   

      org.apache.poi

      poi-scratchpad

      3.16

   

   

      org.apache.poi

      poi-ooxml

      3.16

   

   

      org.apache.poi

      poi-ooxml-schemas

      3.16

   

   

      org.apache.poi

      poi-examples

      3.16

   

   

      org.apache.poi

      poi-excelant

      3.16

   

   

      mysql

      mysql-connector-java

      5.1.42

   

   

      org.apache.commons

      commons-dbcp2

      2.1.1

   

   

      org.springframework

      spring-core

      ${spring.version}

   

   

      org.springframework

      spring-web

      ${spring.version}

   

   

      org.springframework

      spring-oxm

      ${spring.version}

   

   

      org.springframework

      spring-tx

      ${spring.version}

   

   

      org.springframework

      spring-jdbc

      ${spring.version}

   

   

      org.springframework

      spring-webmvc

      ${spring.version}

   

   

      org.springframework

      spring-aop

      ${spring.version}

   

   

      org.springframework

      spring-context-support

      ${spring.version}

   

   

      org.springframework

      spring-test

      ${spring.version}

   

 

 

    HappyDragon

    compile

   

      src/main/filters/filter_${env}.properties

     

   

   

     

       

        src/main/resources

       

          **/*.*

       

        true

     

   

   

     

        org.apache.maven.plugins

        maven-compiler-plugin

       

          1.8

          1.8

       

        3.1

     

     

     

       

       

       

       

         

             

         

         

           

           

           

           

         

         

           

             

             

           

         

         

         

       

       

         

           

           

           

         

       

     

     

        org.apache.maven.plugins

        maven-surefire-plugin

        2.20

       

         

            **/**.java

         

         

              -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"

         

         

         

           

              allure.results.directory

              ${project.build.directory}/allure-results

           

           

              allure.link.issue.pattern

              https://example.org/issue/{}

           

         

         

         

           

             

             

           

         

       

       

         

            org.aspectj

            aspectjweaver

            ${aspectj.version}

         

       

     

     

        org.apache.maven.plugins

        maven-surefire-plugin

        2.19

       

         

           

           

            ${project.basedir}/target/classes/testngXml/${xmlFileName}

         

       

     

     

     

     

        org.apache.maven.plugins

        maven-resources-plugin

        2.6

       

         

           

            xls

            xlsx

         

       

     

   

 

 

 

   

   

      dev

     

        dev

     

   

   

   

      sit

     

        sit

     

     

        true

     

   

 

需要留意的是:

     1. profile  这里我设置的是默认的sit环境

    2.${project.basedir}/target/classes/testngXml/${xmlFileName}这里是寻找外部文件xmlFileName

二、Jenkins页面的设置

1.项目的设置


2.构建设置


构建过程:clean test -P${env} -DxmlFileName=${xmlFileName}


其中-P${env}为系统默认,根据默认指定的sit来获取配置项及获取测试数据


Jenkins指定测试数据${xmlFileName}的位置
设置传递变量${xmlFileName}

3.设置测试报告


4.解析框架                ------没有最好的框架只有适合自己的


生成的environment.properties传递给allure测试报告用来获取当前的环境信息

5.展示结果为:



页面结果确实比testng的好看很多,所以在生成的测试报告中选择了这个

你可能感兴趣的:(JAVA接口自动化测试----Jenkins持续集成(二))