TestNG多线程测试-用xml文件实现

Posted janson071

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG多线程测试-用xml文件实现相关的知识,希望对你有一定的参考价值。

MultiThreadOnXml类:

package com.janson.multiThread;

import org.testng.annotations.Test;

public class MultiThreadOnXml {

    @Test
    public void test1() {
        System.out.printf("Thread Id : %s%n",Thread.currentThread().getId());
    }

    @Test
    public void test2() {
        System.out.printf("Thread Id : %s%n",Thread.currentThread().getId());
    }

    @Test
    public void test3() {
        System.out.printf("Thread Id : %s%n",Thread.currentThread().getId());
    }

}

在resources文件夹下面新建一个thread.xml文件:

在<suite>标签中用parallel和thread-count两个属性声明多线程:parallel代表级别,thread-count代表最大并发线程数

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="thread" parallel="methods" thread-count="2">
    <!--
    tests级别:不同的test标签(tag)下的用例可以在不同的线程下执行
               相同的test标签(tag)下的用例只能在同一个线程中去执行
    methods级别:所有用例都可以在不同的线程下去执行
    classes级别:相同的classes标签下的用例在同一个线程中执行
                不同的classes标签下的用例可以在不同的线程下执行
    thread-count: 代表了最大并发线程数
    xml文件配置这种方式不能指定线程池,只有方法上才可以指定线程池
     -->
    <test name="threadTest">
        <classes>
            <class name="com.janson.multiThread.MultiThreadOnXml"/>
        </classes>
    </test>
    <test name="threadTest2">
        <classes>
            <class name="com.janson.multiThread.MultiThreadOnXml"/>
        </classes>
    </test>

</suite>

执行结果如下:

Thread Id : 11
Thread Id : 12
Thread Id : 12
Thread Id : 13
Thread Id : 14
Thread Id : 13

 

以上是关于TestNG多线程测试-用xml文件实现的主要内容,如果未能解决你的问题,请参考以下文章

TestNG(十五)xml文件实现多线程测试

testng教程之testng.xml的配置和使用,以及参数传递(多线程执行)

testNG之并发执行用例

并行运行测试时,testng-results.xml 文件被覆盖

TestNG 批量执行脚本Runner.xml - 并可以设置多线程并发跑脚本,提高跑脚本效率

testng.xml文件的配置