java+selenium+testng(五)多线程并发

1、修改testng.xml配置,修改完之后就可以直接执行了!!

①将suite标签中的 parallel 值改为tests

②thread-count 表示执行的线程数

③1个test标识一个线程

④遇到的一个坑:如果是要使用相同浏览器执行相同的用例,那么test标签内的值不能填写完全一致,否则后续输出报告时会只显示其中一个线程的运行结果

<suite name="Suite" parallel="tests" thread-count="2">

    <!-- 第一个线程对测试,启动本地chrome浏览器-->
    <test name="第一个线程">
        <parameter name="browserName" value="chrome"></parameter>
        <classes>
            <class name="com.testcases.Login"/>
        </classes>
    </test>

    <!-- 第二个线程对测试,启动本地chrome浏览器-->
    <test name="第二个线程">
        <!--<parameter name="browserName" value="chrome"></parameter>-->
        <classes>
            <class name="com.testcases.Login"/>
        </classes>
    </test>

2、又一个坑! 解决TestNG多线程并发,线程不安全问题。

当只改完配置直接执行时会遇到一个问题:比如执行登录,需要向输入框输入账号密码,会出现数据输入错乱的问题(可能a浏览器没有输入内容,b浏览器输入了两次内容),这就是线程不安全问题,开启的两个driver互相干扰

原文地址:https://www.cnblogs.com/x495122903/p/13372957.html