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

 

posted @ 2017-05-22 15:46  风少&#127803;  阅读(737)  评论(0编辑  收藏  举报