Selenium学习笔记(八)——跨浏览器测试

本文介绍了一种使用TestNG进行跨浏览器测试的方法,通过配置XML文件指定不同浏览器,并演示了如何编写测试脚本来验证网页在Chrome、Firefox和IE浏览器上的一致性表现。

网络应用在跨浏览器中展示时可能遇到的问题:

  1. 字体大小不相同。
  2. JavaScript的实现可能不一致。
  3. 是否支持某些技术,如HTML5。
  4. 页面排列和div大小。等问题。。

如何实现跨浏览器测试

我们可以结合TestNG来实现这一功能。 XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestSuite" thread-count="3" parallel="tests">
	<test name="ChromeTest">
		<parameter name="browser" value="Chrome" />
		<classes>
			<class name="parallelTest.CrossBrowserScript">
			</class>
		</classes>
	</test>
	 
	<test name="FirefoxTest">
		<parameter name="browser" value="Firefox" />
		<classes>
			<class name="parallelTest.CrossBrowserScript">
			</class>
		</classes>
	</test>
	<test name="IETest">
		<parameter name="browser" value="IE" />
		<classes>
			<class name="parallelTest.CrossBrowserScript">
			</class>
		</classes>
	</test>
</suite>

测试脚本:

public class CrossBrowserScript {
	private WebDriver driver;

	@BeforeTest
	@Parameters("browser")
	public void setup(String browser) throws Exception {
		if (browser.equalsIgnoreCase("firefox")) {
			System.out.println(browser);
			System.setProperty("webdriver.gecko.driver",
					"E:\\Software\\WebDrivers\\geckodriver\\geckodriver.exe");
			driver = new FirefoxDriver();
		} else if (browser.equalsIgnoreCase("chrome")) {
			System.out.println(browser);
			System.setProperty("webdriver.chrome.driver",
					"E:\\Software\\WebDrivers\\chromedriver.exe");
			driver = new ChromeDriver();
		} else if (browser.equalsIgnoreCase("IE")) {
			System.out.println(browser);
			System.setProperty("webdriver.ie.driver",
					"E:\\Software\\WebDrivers\\IEDriverServer_x64_3.4.0\\IEDriverServer.exe");
			driver = new InternetExplorerDriver();
		} else {
			System.out.println(browser);
			throw new Exception("Browser is not correct");
		}
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
	}

	@Test
	public void testParameterWithXML() throws InterruptedException {
		driver.get("http://www.baidu.com/");
		WebElement searchInput = driver.findElement(By.id("kw"));
		searchInput.sendKeys("Selenium");
		WebElement searchBtn = driver.findElement(By.id("su"));
		searchBtn.click();
	}

	@AfterTest
	public void cleanUp() {
		driver.quit();
	}
}

右击XML文件Run As -> TestNG Suite运行测试会看到3个浏览器同时运行测试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值