针对多个浏览器运行selenium webdriver测试用例

我是selenium测试的新手。 我想在多个浏览器上针对Internet Explorer,Firefox,opera和chrome运行selenium test cases 。 我必须遵循什么方法。 请问有人请建议我哪个是最好的流程。

selenium web驱动程序是否支持多个浏览器?

我们写了登录脚本。 它单独运行Firefox,Chrome和Internet Explorer。 但我想顺序为那些多个浏览器运行它。

Web驱动程序当然支持多个浏览器,也有移动支持

ChromeDriver

IEDiver

FirefoxDriver

OperaDriver

AndroidDriver

以下是在多个浏览器中运行相同测试的示例。

 package ma.glasnost.test; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; ......... DesiredCapabilities[] browserList = {DesiredCapabilities.chrome(),DesiredCapabilities.firefox(),DesiredCapabilities.internetExplorer(), DesiredCapabilities.opera()}; for (DesiredCapabilities browser : browserList) { try { System.out.println("Testing in Browser: "+browser.getBrowserName()); driver = new RemoteWebDriver(new URL("http://127.0.0.1:8080/..."), browser); 

希望有所帮助。

您可以使用WebDriver Extensions框架的JUnitRunner

这是一个用于“Hello World”的测试Google搜索示例

 @RunWith(WebDriverRunner.class) @Firefox @Chrome @InternetExplorer public class WebDriverExtensionsExampleTest { // Model @FindBy(name = "q") WebElement queryInput; @FindBy(name = "btnG") WebElement searchButton; @FindBy(id = "search") WebElement searchResult; @Test public void searchGoogleForHelloWorldTest() { open("http://www.google.com"); assertCurrentUrlContains("google"); type("Hello World", queryInput); click(searchButton); waitFor(3, SECONDS); assertTextContains("Hello World", searchResult); } } 

只需确保在maven pom.xml依赖项中添加WebDriver Extensions框架

  com.github.webdriverextensions webdriverextensions 1.2.1  

可以使用提供的maven插件下载驱动程序。 只需添加

  com.github.webdriverextensions webdriverextensions-maven-plugin 1.0.1    install-drivers       internetexplorerdriver 2.44   chromedriver 2.12     

到你的pom.xml。 或者,如果您希望手动下载它们,只需使用以下命令注释测试类

 @DriverPaths(chrome="path/to/chromedriver", internetExplorer ="path/to/internetexplorerdriver") 

注释指向驱动程序。

请注意,上面的示例使用WebDriver Extensions Bot类中的静态方法来使测试更具可读性。 但是,您并不喜欢使用它们。 在纯Selenium WebDriver中重写的上述测试看起来像这样

  @Test public void searchGoogleForHelloWorldTest() throws InterruptedException { WebDriver driver = WebDriverExtensionsContext.getDriver(); driver.get("http://www.google.com"); assert driver.getCurrentUrl().contains("google"); queryInput.sendKeys("Hello World"); searchButton.click(); SECONDS.sleep(3); assert searchResult.getText().contains("Hello World"); } 
 import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class Sample { private WebDriver _driver; @Test public void IEconfiguration() throws Exception { System.setProperty("webdriver.ie.driver", "D:/Softwares/Selenium softwares/drivers/IEDriverServer.exe"); _driver = new InternetExplorerDriver(); login(); } @Test public void FFconfiguration() throws Exception { _driver = new FirefoxDriver(); login(); } @Test public void CRconfiguration() throws Exception { System.setProperty("webdriver.chrome.driver", "D:/Softwares/Selenium softwares/drivers/chromedriver.exe"); _driver = new ChromeDriver(); //_driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS); login(); } public void login() throws Exception { _driver.get("http://www.google.com"); } } 

在此之前,我们必须安装chrome和Internet Explorer驱动程序.exe文件并运行它们。