Weet hoe u crossbrowser-tests kunt uitvoeren met selenium



Dit artikel over crossbrowser-testen met Selenium zal u vertellen hoe u een cross-browser compatibiliteitscontrole van een website op verschillende browsers en OS-platforms uitvoert.

Met de toenemende vraag naar automatiseringstesten, is zo'n tool die perfect past bij Cross Browser Testing van een website. Het is zeer noodzakelijk om de compatibiliteit en prestaties van de websites op verschillende browsers en besturingssystemen te controleren. Dit artikel over crossbrowser-testen met Selenium zal u dus helpen deze concepten grondig te begrijpen.

Hieronder staan ​​de onderwerpen die in dit artikel worden behandeld:





Wat is crossbrowser-testen?

Cross-browser testen is niets anders dan het testen van de applicatie in meerdere browsers zoals IE, Chrome, Firefox, zodat we onze applicatie effectief kunnen testen. Cross-browser compatibiliteit is het vermogen van een website of webtoepassing om te functioneren in verschillende browsers en besturingssystemen.

Cross Broswer-testen met selenium - edureka Bijvoorbeeld - Stel dat u 20 testcases heeft om handmatig uit te voeren. U kunt deze taak binnen een dag of twee voltooien. Maar als dezelfde testgevallen in vijf browsers moeten worden uitgevoerd, duurt het waarschijnlijk een week om het af te ronden. Als u deze 20 testcases echter automatiseert en uitvoert, duurt het niet langer dan een uur of twee, afhankelijk van de complexiteit van de testcase. Dus dat is waar cross-browser testen in beeld komt.



Laten we nu verder gaan en kijken waarom u Cross Browser Testing in Selenium nodig heeft.

Waarom heb je Cross Browser Testing nodig?

Elke website bestaat uit drie belangrijke technologieën, namelijk HTML5, CSS3 en . Er zijn echter n aantal technologieën in de backend, zoals , Robijn , enz. kunnen worden gebruikt. Maar aan de voorkant en in de weergave worden alleen deze drie technologieën gebruikt.



Bovendien gebruikt elke browser een compleet andere rendering-engine om deze drie technologieën te berekenen. Chrome gebruikt bijvoorbeeld Blink, Firefox gebruikt Gecko en IE gebruikt edge HTML en Chakra, waardoor dezelfde website door al deze verschillende browsers compleet anders zou worden weergegeven. En dat is precies waarom u cross-browser testen nodig heeft. Dat betekent dat de website perfect zou moeten werken, in alle verschillende browserversies en in verschillende besturingssystemen. Om er zeker van te zijn dat het goed werkt, is cross-browser testen vereist.

Daarnaast heb ik een paar redenen opgesomd die de noodzaak van Cross Browser Testing weergeven.

  • Browsercompatibiliteit met verschillende besturingssystemen.
  • Afbeelding oriëntatie.
  • Elke browser heeft een andere oriëntatie van Javascript, wat soms problemen kan veroorzaken.
  • Lettergrootte komt niet overeen of wordt niet goed weergegeven.
  • Compatibiliteit met het nieuwe webframework.

Laten we nu verder gaan en begrijpen hoe u crossbrowser-tests kunt uitvoeren.

sorteermatrix c ++

Hoe crossbrowser-tests uit te voeren?

Bij cross-browser testen wordt in feite dezelfde set testcases meerdere keren uitgevoerd in verschillende browsers. Dit type herhaalde taak is het meest geschikt voor . Het is dus kosten- en tijdbesparend om deze tests uit te voeren met behulp van tools. Laten we nu eens kijken hoe het wordt uitgevoerd met behulp van een selenium-webstuurprogramma.

Stap 1 : Als we Selenium WebDriver gebruiken, kunnen we testgevallen automatiseren met Internet Explorer, FireFox, Chrome, Safari-browsers.

Stap 2: Om testcases met verschillende browsers tegelijkertijd op dezelfde machine uit te voeren, kunnen we integreren TestNG-framework met Selenium WebDriver.

wat is het verschil tussen een abstracte klasse en een interface?

Stap 3: Ten slotte kunt u de testcases schrijven en de code uitvoeren.

Laten we nu eens kijken hoe we cross-browser testen van de Edureka-website kunnen uitvoeren in drie verschillende browsers

Demo met Selenium WebDriver

pakket co.edureka.pages import java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org .openqa.selenium.edge.EdgeDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.BeforeTest import org.testng.annotations.Parameters import org.testng.annotations.Test openbare klasse CrossBrowserScript {WebDriver-stuurprogramma / * * * Deze functie wordt uitgevoerd voordat elke test-tag in testng.xml * @param browser * @throws Exception * / @BeforeTest @Parameters ('browser') public void setup (String browser) een uitzondering genereert {// Controleer of parameter is doorgegeven van TestNG is 'firefox' if (browser.equalsIgnoreCase ('firefox')) {// maak firefox-instantie System.setProperty ('webdriver.gecko.driver', 'C: geckodriver-v0.23.0-win64geckodriver.exe') driver = new FirefoxDriver ()} // Controleer of parameter is doorgegeven als 'chrome' else if (browser.equalsIgnoreCase ('chrome')) {// se t pad naar chromedriver.exe System.setProperty ('webdriver.chrome.driver', 'C: Selenium-java-edurekaNew folderchromedriver.exe') driver = nieuwe ChromeDriver ()} anders if (browser.equalsIgnoreCase ('Edge')) {// set path to Edge.exe System.setProperty ('webdriver.edge.driver', 'C: Selenium-java-edurekaMicrosoftWebDriver.exe') span style = 'font-family: verdana, geneva, sans-serif font- size: 14px '& ampgt // create Edge instance & amplt / span & ampgt driver = new EdgeDriver ()} else {// Als er geen browser is geslaagd, throw exception throw new Exception (' Browser is not correct ')} driver.manage (). timeouts () .implicitlyWait (10, TimeUnit.SECONDS)} @Test public void testParameterWithXML () gooit InterruptedException {driver.get ('https://www.edureka.co/') WebElement Login = driver.findElement (By.linkText ('Log In ')) // Druk op login-knop Login.click () Thread.sleep (4000) WebElement userName = driver.findElement (By.id (' si_popup_email ')) // Vul gebruikersnaam gebruikersnaam.sendKeys (' uw e-mail-id ' ) Thread.sleep (4000) // Zoek wachtwoord'WebElement password = driver.findElement (By.id ('si_popup_passwd')) // Vul wachtwoord password.sendKeys ('jouw wachtwoord') Thread.sleep (6000) WebElement Next = driver.findElement (By.xpath ('// button [ @ class = 'clik_btn_log btn-block'] ')) // Druk op de zoekknop Next.click () Thread.sleep (4000) WebElement search = driver.findElement (By.cssSelector (' # search-inp ')) // Vul het zoekvak in search.sendKeys ('Selenium') Thread.sleep (4000) // Druk op de zoekknop WebElement searchbtn = driver.findElement (By.xpath ('// span [@ class =' ​​typeahead__button ']')) searchbtn. Klik() } }

In de bovenstaande code voer ik acties uit op Edureka website zoals inloggen op de website en zoeken naar de cursus Selenium. maar ik wil de compatibiliteit tussen browsers op drie verschillende browsers controleren, namelijk Google Chrome, Mozilla Firefox en Microsoft Edge. Daarom heb ik de systeemeigenschappen van alle drie de browsers in mijn code ingesteld. Daarna voer ik met locators acties uit op de website. Dus dit gaat allemaal over mijn klassenbestand. Om het programma uit te voeren, hebt u nu een TestNG XML-bestand nodig dat de afhankelijkheden van het bovenstaande klassenbestand bevat. Onderstaande code geeft het TestNG-bestand weer.

 

In het bovenstaande XML-bestand specificeer ik verschillende klassen voor de schijven, zodat het ons zal helpen bij het instantiëren van de browsers om de testgevallen op de website uit te voeren. Zo werkt dat.

Hiermee komen we aan het einde van dit artikel over het gebruik van Cross Browser Testing . Ik hoop dat je de concepten hebt begrepen en dat het een toegevoegde waarde heeft voor je kennis.

Als je Selenium wilt leren en een carrière wilt opbouwen in het testdomein, bekijk dan onze interactieve, live-online hier, dat wordt geleverd met 24 * 7 ondersteuning om u tijdens uw leerperiode te begeleiden.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van het artikel Cross Browser Testing met behulp van Selenium en we nemen zo snel mogelijk contact met u op.