2.6.2 XML配置:使用testNG进行并发多浏览器测试

测试类

1
@Parameters("browser") 定义browser参数。 在测试执行过程中,browser参数具体值由XML文件进行传递。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
......
public class TestNGClass
{
  private WebDriver driver;
  private String URL = "http://www.calculator.net";
     
  @Parameters("browser")
  @BeforeTest
  public void beforeTest(String browser)
  {    
       
   if (browser.equalsIgnoreCase("firefox"))
   {
     System.out.println(" Executing on FireFox");
     //Firefox不需要设置驱动。 webdriver无法打开Firefox时,增加此行代码设定Firefox浏览器的所在路径即可
     System.setProperty("webdriver.firefox.bin""C:\Program Files (x86)\Mozilla Firefox\firefox.exe");
     driver = new FirefoxDriver();
     
   }
   else if (browser.equalsIgnoreCase("chrome"))
   {
     System.out.println(" Executing on CHROME");
     System.setProperty("webdriver.chrome.driver""D:\chromedriver.exe");
     driver = new ChromeDriver();
 
   }
   else if (browser.equalsIgnoreCase("ie"))
   {
     System.out.println("Executing on IE");
     System.setProperty("webdriver.ie.driver""D:\IEDriverServer.exe");
     driver = new InternetExplorerDriver();
 
   }
   else
   {
      throw new IllegalArgumentException("The Browser Type is Undefined");
   }
    
     driver.get(URL);
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
     driver.manage().window().maximize();  
 }
      
     
  @Test
......
 
  @AfterTest
......
}

  

XML文件

1
parallel:是否多线程并发运行测试。可选项目:false/methods/tests/classes/intances
1
thread-count<br><br><br>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<suite name="TestNGSuite" parallel="tests" thread-count="2">   <!--suite name 自定义的测试集合名称 -->
    <test name="IETest">        <!--test name 定义测试名称 -->
        <parameter name="browers" value="ie">
            <classes>                <!--test name 定义被运行的测试类 -->
                <class name="cn.gloryroad.NewTest" />
            </classes>
        </parameter>
    </test>
 
    <test name="ChromeTest">       
        <parameter name="browers" value="ie">
            <classes>             
                <class name="cn.gloryroad.NewTest" />
            </classes>
        </parameter>
    </test>
 
</suite>

  

通过对XML文件进行右键点击执行脚本,然后选择 'Run As' >> 'TestNG' 方式,如下图所示。

输出

所有的浏览器将平行展开,结果将被打印在控制台上。


如果执行不成功,直接输出 Skips Failures 。可以查看下 测试类文件中的URL、 @Parameters参数 、方法参数  是否写错了

注:对于我们在IE浏览器执行成功确保复选框“启用保护模式”下的“IE选项中的安全选项卡中选中或未在所有区域中未检查。

原文地址:https://www.cnblogs.com/mabingxue/p/10860115.html