如何为硒中的每个testng XML文件启动浏览器 [英] How to Launch browsers for each single testng XML file in selenium

查看:108
本文介绍了如何为硒中的每个testng XML文件启动浏览器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个testng XML文件 例如:testng1.xml& testng2.xml

I have two testng XML files eg : testng1.xml & testng2.xml

我需要在不同的浏览器或相同的浏览器中并行执行这两个XML文件.请建议我如何实现此方案.

I need to execute these two XML files in different browsers or Same browsers parallely. Kindly suggest me how to achieve this scenario.

推荐答案

这取决于您在testing.xml文件中配置类的方式. 您甚至可以使用单个testing.xml文件在相同的浏览器或不同的浏览器上并行运行测试.

It's depends on how you configured your class in testing.xml file. You can even use single testing.xml file to run your test parallel on same browser or different browser as well.

要进行配置,您可以使用以下示例文件:

For configuration you can use below sample file :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Parallel Test" parallel="classes">
   <test name="Functional_Test_1">
     <parameter name="browser" value="PhantomJS" />
    <classes>    
          <class name="com.simpletest.DriverSerup"/>
   </classes> 
  </test> 
     <test name="Functional_Test_2">
       <parameter name="browser" value="chrome" />
     <classes>      
        <class name="com.simpletest.DriverSerup"/>
     </classes> 
  </test>    
</suite>

这是您可以设置浏览器以执行测试的方法:

And this is how you can setup browser to execute Test:

package com.simpletest;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class DriverSerup {

    @BeforeTest
    @Parameters("browser")
    public void setUp(String browser)
    {

        switch(browser)
        {
        case "chrome":

            // Write the code here for open chrome browser
            System.out.println("For Browser : " + browser);
            break;
        case "PhantomJS":
            // Write the code here for open PhantomJS browser
            System.out.println("For Browser : " + browser);
            break;
        default :
            System.out.println("Broweer choice not available");     

        }
    }

}

在创建的两个<test>标记中提及您要自动化的所有类.

Mention all your classes in both <test> tags as you have created to automate.

或者如果您有2个testing.xml,则配置如下:

Or if you have 2 testing.xml then configure like :

testing1.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Parallel suite 1" >
   <test name="Functional_Test_1">
     <parameter name="browser" value="PhantomJS" />
    <classes>    
          <class name="com.simpletest.DriverSerup"/>
   </classes> 
  </test> 
</suite>

testing2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parallel suite 2">
     <test name="Functional_Test_2">
       <parameter name="browser" value="chrome" />
     <classes>      
        <class name="com.simpletest.DriverSerup"/>
     </classes> 
  </test>    
</suite>

在这里,您必须创建套件套件,即 combinesuite.xml :

And here you have to create suite of suites i.e. combinesuite.xml :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite of suites"  parallel="classes" thread-count="2" >
    <suite-files>
        <suite-file path="testing1.xml" />
        <suite-file path="testing2.xml" />
    </suite-files>
</suite>

注意::不要忘记在suite标记中提及parallel属性以实现并行性.

Note : don't forget to mention parallel attribute in suite tag for parallelism.

这篇关于如何为硒中的每个testng XML文件启动浏览器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆