Jenkins如何参数化执行TestNG,这个Maven插件告诉你!

目录

    • 一、背景介绍
    • 二、实现逻辑
    • 三、Jenkins配置
    • 四、Maven插件配置
      • 4.1 properties配置
      • 4.2 build->plugins配置
    • 五、TestNG参数化
      • 5.1 XML参数化配置
      • 5.2 Test注解方法参数化

一、背景介绍

    工作中在使用Java+Selenium+TestNG+Maven+Jenkins做WebUI自动化测试的过程中,想要配置两个参数化构建。第一个就是执行Testng的XML文件参数;另一个参数就是环境参数,该参数对应WebUI自动化测试的环境,分别为UAT(测试环境)和PROD(生产环境),实际Selenium相关代码会由于环境参数的不同而不同(由于xpath定位或其他存在的差异)。
    实际效果:Jenkins给定不同的XML文件名称、环境参数后,会执行指定XML文件,指定环境的测试。

二、实现逻辑

Jenkins如何参数化执行TestNG,这个Maven插件告诉你!_第1张图片
Jenkins如何参数化执行TestNG,这个Maven插件告诉你!_第2张图片

三、Jenkins配置

  • 项目->配置->General->参数化构建

    在参数化构建中,添加两个对应的字符参数。注意这里的字符参数的名称后续需要对应Maven的pom.xml文件的配置。
Jenkins如何参数化执行TestNG,这个Maven插件告诉你!_第3张图片

  • 构建项目
    Jenkins如何参数化执行TestNG,这个Maven插件告诉你!_第4张图片

四、Maven插件配置

4.1 properties配置


	
    ${env.xmlFileName}
    ${env.environment}

4.2 build->plugins配置


    
      
      	
        
        org.apache.maven.plugins
        maven-surefire-plugin
        2.20.1
        
        
        
        	
          
            ${xml.file}
          
          
          
          
            ${environment}
          
        
      
    
  

五、TestNG参数化

关于TestNG的参数化,可以参考我前面的博客:https://blog.csdn.net/qq_37688023/article/details/105609002

5.1 XML参数化配置


    

5.2 Test注解方法参数化

@Test(priority = 1, description = "YFF  现金事务分类 进入页面")
@Parameters({"environment"})
public void test1(@Optional("uat") String environment) throws Exception {
  /* 初始化页面类 */
  cashAffairClassPage = new CashAffairClassPage(driver, environment, language);
  cashAffairClassPage.jumpToPageModule();
}

你可能感兴趣的:(UI自动化测试)