网络应用在跨浏览器中展示时可能遇到的问题:
- 字体大小不相同。
- JavaScript的实现可能不一致。
- 是否支持某些技术,如HTML5。
- 页面排列和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个浏览器同时运行测试。
本文介绍了一种使用TestNG进行跨浏览器测试的方法,通过配置XML文件指定不同浏览器,并演示了如何编写测试脚本来验证网页在Chrome、Firefox和IE浏览器上的一致性表现。
611