zoukankan      html  css  js  c++  java
  • 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选项中的安全选项卡中选中或未在所有区域中未检查。

  • 相关阅读:
    ES5新特性:理解 Array 中增强的 9 个 API
    ios
    Jquery异步 Deferred Object
    ES5中新增的Array方法详细说明
    Chart
    Angular常用语句
    vticker.js--垂直滚动插件
    <css系列>之css--float总结
    理解boot.img与静态分析Android/linux内核
    理解竞争条件( Race condition)漏洞
  • 原文地址:https://www.cnblogs.com/mabingxue/p/10860115.html
Copyright © 2011-2022 走看看