Τι είναι η δοκιμή Cross Browser;
Το Cross Browser Testing είναι ένας τύπος λειτουργικής δοκιμής για να ελέγξετε ότι η εφαρμογή ιστού σας λειτουργεί όπως αναμένεται σε διαφορετικά προγράμματα περιήγησης.
Γιατί χρειαζόμαστε το Cross Browser Testing;
Οι εφαρμογές που βασίζονται στον Ιστό διαφέρουν εντελώς από τις εφαρμογές των Windows. Μπορεί να ανοίξει μια εφαρμογή Ιστού σε οποιοδήποτε πρόγραμμα περιήγησης από τον τελικό χρήστη. Για παράδειγμα, ορισμένα άτομα προτιμούν να ανοίγουν το https://twitter.com στο πρόγραμμα περιήγησης Firefox, ενώ άλλα μπορούν να χρησιμοποιούν το πρόγραμμα περιήγησης Chrome ή το IE .
Στο παρακάτω διάγραμμα μπορείτε να παρατηρήσετε ότι στο IE , το πλαίσιο σύνδεσης του Twitter δεν δείχνει καμπύλη σε όλες τις γωνίες, αλλά μπορούμε να το δούμε στο πρόγραμμα περιήγησης Chrome.
Επομένως, πρέπει να διασφαλίσουμε ότι η εφαρμογή ιστού θα λειτουργεί όπως αναμένεται σε όλα τα δημοφιλή προγράμματα περιήγησης, έτσι ώστε περισσότερα άτομα να έχουν πρόσβαση σε αυτήν και να τη χρησιμοποιούν.
Αυτό το κίνητρο μπορεί να εκπληρωθεί με το Cross Browser Testing του προϊόντος.
Λόγος ζητημάτων Cross Browser
- Αναντιστοιχία μεγέθους γραμματοσειράς σε διαφορετικά προγράμματα περιήγησης.
- Η εφαρμογή JavaScript μπορεί να είναι διαφορετική.
- CSS, διαφορά επικύρωσης HTML μπορεί να είναι εκεί.
- Κάποιο πρόγραμμα περιήγησης εξακολουθεί να μην υποστηρίζει HTML5.
- Ευθυγράμμιση σελίδας και μέγεθος div.
- Προσανατολισμός εικόνας.
- Ασυμβατότητα προγράμματος περιήγησης με λειτουργικό σύστημα. Και τα λοιπά.
Τρόπος εκτέλεσης δοκιμών Cross Browser
Εάν χρησιμοποιούμε το Selenium WebDriver, μπορούμε να αυτοματοποιήσουμε τις δοκιμαστικές περιπτώσεις χρησιμοποιώντας προγράμματα περιήγησης Internet Explorer, FireFox, Chrome, Safari.
Για την εκτέλεση δοκιμαστικών περιπτώσεων με διαφορετικά προγράμματα περιήγησης στο ίδιο μηχάνημα ταυτόχρονα, μπορούμε να ενσωματώσουμε το πλαίσιο Testng με το Selenium WebDriver.
Το testing.xml θα μοιάζει με αυτό,
Αυτό το testing.xml θα χαρτογραφηθεί με το Test Case που θα μοιάζει με αυτό
Εδώ επειδή το testing.xml έχει δύο ετικέτες δοκιμής («ChromeTest», «FirefoxTest»), αυτή η δοκιμαστική θήκη θα εκτελεστεί δύο φορές για 2 διαφορετικά προγράμματα περιήγησης.
Η πρώτη δοκιμή «ChromeTest» θα μεταβιβάσει την τιμή της παραμέτρου «πρόγραμμα περιήγησης» ως «χρώμιο», ώστε το ChromeDriver να εκτελεστεί. Αυτή η δοκιμαστική θήκη θα εκτελεστεί στο πρόγραμμα περιήγησης Chrome.
Η δεύτερη δοκιμή «FirefoxTest» θα περάσει την τιμή της παραμέτρου «πρόγραμμα περιήγησης» ως «Firefox», ώστε να εκτελεστεί ο FirefoxDriver. Αυτή η δοκιμαστική θήκη θα εκτελεστεί στο πρόγραμμα περιήγησης FireFox.
Πλήρης κωδικός:
Guru99CrossBrowserScript.java
πακέτο παράλληλη δοκιμή;εισαγωγή java.util.concurrent.TimeUnit;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.WebElement;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;εισαγωγή org.openqa.selenium.edge.EdgeDriver;εισαγωγή org.openqa.selenium.firefox.FirefoxDriver;εισαγωγή org.testng.annotations.BeforeTest;εισαγωγή org.testng.annotations.Parameters;εισαγωγή org.testng.annotations.Test;δημόσια τάξη CrossBrowserScript {Πρόγραμμα οδήγησης WebDriver;/ *** Αυτή η λειτουργία θα εκτελεστεί πριν από κάθε δοκιμαστική ετικέτα στο testng.xml* Πρόγραμμα περιήγησης @param* @throws Εξαίρεση* /@BeforeTest@Parameters ("πρόγραμμα περιήγησης")δημόσια κενή ρύθμιση (String browser) ρίχνει την εξαίρεση {// Ελέγξτε αν η παράμετρος που πέρασε από το TestNG είναι «firefox»εάν (browser.equalsIgnoreCase ("firefox")) {// δημιουργία παρουσίας firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");πρόγραμμα οδήγησης = νέο FirefoxDriver ();}// Ελέγξτε εάν η παράμετρος μεταβιβάστηκε ως "chrome"αλλιώς εάν (browser.equalsIgnoreCase ("chrome")) {// ορίστε τη διαδρομή στο chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// δημιουργία παρουσίας chromeπρόγραμμα οδήγησης = νέο ChromeDriver ();}// Ελέγξτε αν η παράμετρος πέρασε ως "Edge"αλλιώς εάν (browser.equalsIgnoreCase ("Edge")) {// ορίστε τη διαδρομή στο Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// δημιουργία παρουσίας Edgeπρόγραμμα οδήγησης = νέο EdgeDriver ();}αλλού{// Εάν κανένα πρόγραμμα περιήγησης δεν πέρασε εξαίρεσηρίξτε νέα εξαίρεση ("Το πρόγραμμα περιήγησης δεν είναι σωστό").}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Δοκιμήpublic void testParameterWithXML () ρίχνει το InterruptException {driver.get ("http://demo.guru99.com/V4/");// Βρείτε το όνομα χρήστηWebElement userName = driver.findElement (By.name ("uid"));// Συμπληρώστε το όνομα χρήστηuserName.sendKeys ("γκουρού99");// Βρείτε κωδικό πρόσβασηςΚωδικός πρόσβασης WebElement = driver.findElement (By.name ("password"));// Συμπληρώστε τον κωδικό πρόσβασηςpassword.sendKeys ("γκουρού99");}}
testing.xml
xml version = "1.0" encoding = "UTF-8"?><τάξεις> <τάξεις> <τάξεις>
ΣΗΜΕΙΩΣΗ: Για να εκτελέσετε τη δοκιμή, κάντε δεξί κλικ στο testing.xml, Επιλέξτε Run As και κάντε κλικ στο TestNG
Περίληψη
- Το Cross browser Testing είναι μια τεχνική για τη δοκιμή εφαρμογών ιστού με διαφορετικά προγράμματα περιήγησης ιστού.
- Το Selenium μπορεί να υποστηρίξει διαφορετικό τύπο προγραμμάτων περιήγησης για αυτοματοποίηση.
- Το σελήνιο μπορεί να ενσωματωθεί στο TestNG για να εκτελέσει δοκιμές πολλαπλών προγραμμάτων περιήγησης.
- Από τις παραμέτρους στο testing.xml μπορούμε να περάσουμε το όνομα του προγράμματος περιήγησης, και σε μια δοκιμαστική περίπτωση, μπορούμε να δημιουργήσουμε αναφορές WebDriver αναλόγως.
Σημείωση: Το συγκεκριμένο πρόγραμμα δημιουργήθηκε και δοκιμάστηκε σε σελήνιο 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Εάν τα προγράμματα παρουσιάζουν σφάλμα, ενημερώστε το πρόγραμμα οδήγησης
Πραγματοποιήστε λήψη του Selenium Project Files για την επίδειξη σε αυτό το σεμινάριο