当前位置: 首页 > 知识库问答 >
问题:

TestNG测试用例序列

高运诚
2023-03-14

我正在进行测试集成,并为此使用测试,这里我需要使用多个测试数据运行测试用例序列。在这里,测试用例之间存在依赖关系。

公共类MyTestCase扩展了ISIntegrationTest{

TestBean testbean;

@Factory(dataProvider = "beanProvider")
public MyTestCase(TestBean testbean) {
    this.testbean = testbean;
}

@DataProvider(name = "beanProvider")
public static TestBean[][] beanProvider() {
    return new TestBean[][] { { new TestBean("type1") },
            { new TestBean("type2") } };
}

@BeforeTest(alwaysRun = true)
public void testInit() throws Exception {

}

@AfterTest(alwaysRun = true)
public void atEnd() throws Exception {

}

@Test(alwaysRun = true, description = "test1")
public void test1() {
    System.out.println("test1 : " + testbean.type);
}

@Test(groups = "wso2.is", description = "test2", dependsOnMethods = "test1")
public void test2() throws Exception {
    System.out.println("test2 : " + testbean.type);

}

@Test(groups = "wso2.is", description = "test3", dependsOnMethods = "test2")
public void test3() throws Exception {
    System.out.println("test3 : " + testbean.type);

}

static class TestBean{
    String type;

    TestBean(String type){
        this.type = type;
    }

}

}

这里,我需要以序列的形式运行test1、test2和test3,并提供传递数组的数据元素。根据以上示例,我期望输出如下。

test1:type1 test2:type1 test3:type1 test1:type2 test2:type2 test3:type2

但我得到以下输出

测试1:类型1测试1:类型2测试2:类型1测试2:类型2测试3:类型1测试3:类型2

有什么方法可以克服这个问题吗?

共有1个答案

萧懿轩
2023-03-14

使用group by instances运行测试创建一个套件xml,如下所示,并设置group by instances=“true”,使用此选项运行测试。

<suite thread-count="2" verbose="10" name="testSuite" parallel="tests">
<test verbose="2" name="nameOfTheTestFirefox" group-by-instances="true">
    <parameter name="browserName" value="firefox" />
    <classes>
        <class name="com.crazytests.dataproviderissue.MyTestCase" />
    </classes>
</test>
 类似资料:
  • 下面TestNG执行测试用例会导致失败。错误-org.openqa.selenium.WebDriverExcture:在处理命令时发生了未知的服务器端错误。原始错误:无法将命令代理到远程服务器。原始错误:错误:套接字挂断(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时: 56毫秒

  • 主要内容:1. CharUtil类,2. TestNG @DataProvider示例另一个TestNG参数测试示例,是使用注解。 1. CharUtil类 创建一个将字符转换成ASCII或者副词的类,如何使用TestNG来做单元测试? 打开 Eclipse 创建一个 Maven 工程: ParameterTesting,其目录结构如下所示 - 类文件:CharUtils.java 的代码如下 - 2. TestNG @DataProvider示例 要测试它,创建一个接受两个参数(

  • 我有一个关于testNG的问题。我有五类测试(a类、b类、c类、d类、e类),并且在每个类中都有3个测试(test1 test2 test3)问题是我在所有测试中都有@Test(组={"吸烟测试"},启用=真,优先级=1)-类a-类a-类a <代码>@测试(组={"吸烟测试"},启用=真,优先级=1) -类b<代码>@测试(组={"吸烟测试"},启用=真,优先级=2) -类b<代码>@测试(组={

  • 需要一些帮助来获得并行运行testng测试用例的正确方法。

  • 附加信息@Saifur我创建了一个单独的基类,在其中我初始化了驱动程序实例。我在@BeForeClass中调用这个实例,在@afterClass中调用driver.quit()。通过在testng.xml中提供两个不同的类,我试图运行这个实例。

  • 问题内容: 我想编写一个TestNG测试,以确保在特定条件下引发了异常,如果未引发异常,则使测试失败。有没有一种简单的方法,而不必创建额外的布尔变量? 有关此主题的相关博客文章:http : //konigsberg.blogspot.com/2007/11/testng-and- expectedexceptions-ive.html 问题答案: 在最常见的情况下很有用: 您期望会引发特定的异常