TestNG参数化测试-通过XML方式

TestNG让你直接传递参数测试方法两种不同的方式:

  • 使用testng.xml

  • 数据提供程序

    第一种方式:使用XML方式

    说明:

    .java文件的测试用例中通过parameters获得数据
    使用方法1:
    @Test(parameters="para1")
    使用方法2:
    @Parameter({"para1","para2"})
    @Test

    代码:

    package com.testcase;
    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    public class Testngpara {
       @Test
        @Parameters({"para","para2"}) //说明:此处的参数名字必须与XML文件的参数名字一致。否则                                                                会报找不到的错误
    public void showpara(String para11,String para22){
    System.out.println("testng获得的参数para1如下:"+para11);
                   System.out.println("testng获得的参数para2如下:"+para22);
    }
        
    }

    testng.xml文件配置:

    说明:

    1.测试用例中设置的参数名随意,但是数量一定要和@Parameter中提供的数量一致,按照testng.xml中定义的顺序来取值的
    2.<parameter>可以声明在<suite>或者<test>级别,在<test>下的<parameter>会覆盖在<suite>下声明的同名变量

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Suite1">
        <parameter name = "para" value ="test para"/>
        <test name="test1">
            <parameters>
                <parameter name="para" value="test para1"/> 
          <parameter name="para2" value="test para2"/>
            </parameters>

    <classes>
       <class name="com.testcase.TestngDependOnGroups" />
       </classes>
        </test>
    </suite>

    特殊说明:

    在testng.xml中没有找到参数,可在JAVA代码中用@Optional("")中声明的参数,执行用例时会直接接收在java代码中通过@Optional("")中指定的参数值。举例如下:


    测试方法将接受在

    @Optional

    注解

    中指定的默认值:

    import org.testng.annotations.Optional;
    import org.testng.annotations.Test;
    public class TestngDependOnGroups {
    @Test(parameters={"para1","para2"})
    public void showpara(@Optional("test1")String para11,@Optional("test2")String para22){
    System.out.println("testng获得的参数para1如下:"+para11);
                    System.out.println("testng获得的参数para2如下:"+para22);
    }
    运行结果为:

    [TestNG] Running:
      F:\android\android_work\Test2\src\testng.xml

    testng获得的参数para1如下:test1
    testng获得的参数para2如下:test2

    ===============================================
    Suite1
    Total tests run: 1, Failures: 0, Skips: 0
    ===============================================

以下是一些常见的 TestNG 自动化测试面试题: 1. 什么是 TestNGTestNG 是一个 Java 测试框架,用于编写和运行测试。它可以处理各种类型的测试,包括单元测试、功能测试、端到端测试等。 2. TestNG 和 JUnit 之间有什么区别? TestNG 和 JUnit 都是 Java 测试框架,但 TestNG 具有更多的功能和特性。例如,TestNG 可以通过 XML 文件配置测试套件、并行测试测试组、数据提供程序等。此外,TestNG 还提供了比 JUnit 更灵活的注解和更丰富的报告。 3. 什么是 TestNG 的注解? TestNG 的注解是用于标记测试方法和测试类的特殊标记。例如,@Test、@BeforeTest、@AfterTest 等注解用于标记测试方法,@BeforeSuite、@AfterSuite 等注解用于标记测试套件级别的方法。 4. 什么是 TestNG 的数据提供程序? TestNG 的数据提供程序是一种机制,用于在测试方法中提供测试数据。它可以从不同的数据源中获取数据,例如 Excel、文本文件、数据库等。TestNG 提供了多个数据提供程序,例如 @DataProvider、@Factory 等。 5. 什么是 TestNG测试套件? TestNG测试套件是一组相关测试的集合,可以通过 XML 文件配置。测试套件可以包含多个测试类和测试方法,并且可以定义测试运行的顺序、并发设置、参数化等。 6. TestNG 如何运行测试TestNG 可以通过命令行或集成开发环境(IDE)运行测试。在命令行中,可以使用 TestNGTestNG.xml 配置文件指定要运行的测试套件和测试类。在 IDE 中,可以使用 TestNG 插件来运行测试。 7. TestNG 如何实现并发测试TestNG 可以通过设置并发级别来实现并发测试。可以在 TestNG.xml 文件中设置并发级别,也可以使用 @Test 注解的属性 parallel=true 来实现并发测试。 8. TestNG 如何生成测试报告? TestNG 提供了默认的测试报告,可以在控制台或 HTML 页面中查看。此外,还可以使用第三方测试报告工具,例如 ExtentReports、ReportNG 等来生成更详细的测试报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值