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

浙公网安备 33010602011771号