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


    来源:http://www.yiibai.com/selenium/selenium_multi_browser_testing.html

            http://blog.csdn.net/fgwvip123/article/details/51385874

    测试类

    @Parameters("browser") 定义browser参数。 在测试执行过程中,browser参数具体值由XML文件进行传递。
    ......
    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文件

    parallel:是否多线程并发运行测试。可选项目:false/methods/tests/classes/intances
    thread-count


    <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选项中的安全选项卡中选中或未在所有区域中未检查。

  • 相关阅读:
    React 组件间的通讯
    javascript 闭包详解及作用
    selenium使用技巧
    多线程
    渗透测试
    什么是Selenium Grid?如何搭建Selenium Grid?
    前端性能测试工具原理与行业常用工具简介
    后端性能测试工具原理与行业常用工具简介
    性能测试方法和应用
    软件性能与性能指标
  • 原文地址:https://www.cnblogs.com/ericazy/p/6889809.html
Copyright © 2020-2023  润新知