2013-04-18 17 views
8

Sono nuovo al test del selenio. Voglio eseguire selenium test cases su più browser contro Internet Explorer, Firefox, Opera e Chrome. Quale approccio devo seguire. Puoi per favore suggerirmi quale sia la procedura migliore?casi di test del selenio con selenio contro più browser

Il driver Web di selenio supporta più browser o no ???

Avevamo scritto script di accesso. Funziona con successo per Firefox, Chrome e Internet Explorer individualmente. Ma voglio eseguirlo per quei browser multipli in sequenza.

+0

Ho automatizzato i miei casi di test per più browser con approccio Parametrato. Ho usato l'esempio menzionato a [link] (https://stackoverflow.com/questions/22051705/how-to-parameterize-junit-test-suite/27956177#27956177) – Knu8

risposta

3
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"); 
    }  
} 

Prima di questo, è necessario installare i file .exe di Chrome e Internet Explorer.

6

conducente web supporta più browser, naturalmente, c'è anche il supporto per i dispositivi mobili

ChromeDriver

IEDiver

FirefoxDriver

OperaDriver

AndroidDriver

Ecco un esempio per eseguire gli stessi test in più browser.

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); 

Spero che questo aiuti.

+0

Grazie per la tua risposta @Khalil ..Potrebbe per favore fornire un esempio di esempio per questo. – user1441341

+0

basta dare quello che vuoi fare, quale browser usi e darò un esempio. NB: se dai un'occhiata ai link che pubblichiamo, inizierai con ogni driver del browser. non pretendere di chiedermi di nuovo per qualsiasi chiarimento – Khalil

+0

per favore guarda la mia domanda sopra modificata ... – user1441341

2

è possibile utilizzare il quadro WebDriver Extensions JUnitRunner

Ecco un test di esempio per googling "Ciao Mondo"

@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); 
    } 
} 

solo assicurarsi di aggiungere il quadro WebDriver Extensions tra i tuoi Maven dipendenze pom.xml

<dependency> 
    <groupId>com.github.webdriverextensions</groupId> 
    <artifactId>webdriverextensions</artifactId> 
    <version>1.2.1</version> 
</dependency> 

I driver possono essere scaricati utilizzando il p plugin maven rovided. Aggiungi semplicemente

<plugin> 
    <groupId>com.github.webdriverextensions</groupId> 
    <artifactId>webdriverextensions-maven-plugin</artifactId> 
    <version>1.0.1</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>install-drivers</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <drivers> 
      <driver> 
       <name>internetexplorerdriver</name> 
       <version>2.44</version> 
      </driver> 
      <driver> 
       <name>chromedriver</name> 
       <version>2.12</version> 
      </driver> 
     </drivers> 
    </configuration> 
</plugin> 

al tuo pom.xml. Oppure, se preferisci scaricarli manualmente, annota semplicemente la classe di test con lo

annotazione che punta ai driver.

Si noti che l'esempio precedente utilizza metodi statici dalle estensioni del WebDriver Bot class per rendere più leggibile il test. Tuttavia non sei legato a usarli. Il precedente test riscritto in Selenium WebDriver sarebbe simile a questo

@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"); 
    }