how run selenium webdriver different popular browsers
Το Selenium υποστηρίζει μόνο διαδικτυακές εφαρμογές και για να τις ανοίξουμε χρειαζόμαστε ένα πρόγραμμα περιήγησης. Το Selenium μπορεί να υποστηρίξει διάφορα προγράμματα περιήγησης για αυτοματοποιημένο έλεγχο.
Σε αυτό το σεμινάριο, θα εξηγήσουμε πώς να ρυθμίσετε προγράμματα οδήγησης για τα διάφορα προγράμματα περιήγησης που διατίθενται στην αγορά.
Στην τρέχουσα βιομηχανία, υπάρχουν μόνο τρία δημοφιλή προγράμματα περιήγησης που χρησιμοποιούνται ευρέως, όπως το Google Chrome, το Mozilla Firefox και ο Internet Explorer. Ωστόσο, το Selenium υποστηρίζει και άλλα προγράμματα περιήγησης. Για να εκτελέσουμε το σενάριό μας σε διαφορετικά προγράμματα περιήγησης, χρειαζόμαστε το πρόγραμμα οδήγησης αυτού του προγράμματος περιήγησης.
=> Διαβάστε όλα τα σεμινάρια Selenium εδώ
Τι θα μάθετε:
- Πώς να ρυθμίσετε προγράμματα οδήγησης για τα διαφορετικά προγράμματα περιήγησης
- Δοκιμή μεταξύ προγραμμάτων περιήγησης με χρήση του Selenium WebDriver
- συμπέρασμα
Πώς να ρυθμίσετε προγράμματα οδήγησης για τα διαφορετικά προγράμματα περιήγησης
Προτεινόμενο εργαλείο:
# 1) Δοκιμή Lambda
Εκτελέστε δοκιμές αυτοματοποίησης Selenium σε ένα κλιμακούμενο, ασφαλές και αξιόπιστο διαδικτυακό Selenium Grid που βασίζεται σε σύννεφο. Επιταχύνετε τον αυτοματισμό δοκιμής Selenium ταυτόχρονα, αυξήστε την κάλυψη των δοκιμών δοκιμών σε μια διαδικτυακή υποδομή 2000+ περιβάλλοντων επιτραπέζιου και κινητού προγράμματος περιήγησης.
=> Επισκεφτείτε τον ιστότοπο LambdaTest
Όταν ξεκινάμε για πρώτη φορά με τον αυτοματισμό Selenium, η πρώτη μας γραμμή κώδικα έχει ως εξής:
Πρόγραμμα οδήγησης WebDriver = νέο FireFoxDriver ();
Αυτό σημαίνει ότι το WebDriver είναι μια διεπαφή και ορίζουμε μια μεταβλητή αναφοράς (πρόγραμμα οδήγησης) της οποίας ο τύπος είναι μια διεπαφή.
Τώρα, κάθε αντικείμενο που του αναθέτουμε πρέπει να είναι μια παρουσία μιας κλάσης (FireFoxDriver) ή οποιωνδήποτε άλλων προγραμμάτων οδήγησης που εφαρμόζουν αυτήν τη διεπαφή. Στην περίπτωσή μας, το FireFoxDriver είναι μια κλάση και η διεπαφή είναι το WebDriver.
Όταν ολοκληρωθεί όλη η εγκατάσταση του προγράμματος οδήγησης, εκτελούμε οποιαδήποτε εντολή Selenium όπως:
driver.getTitle ();
Ανατρέξτε στο στιγμιότυπο οθόνης:
angularjs συνεντεύξεις ερωτήσεις και απαντήσεις για έμπειρο pdf
Αυτό που συμβαίνει τώρα είναι ότι εσωτερικά δημιουργείται και αποστέλλεται αίτημα HTTP στο συγκεκριμένο πρόγραμμα οδήγησης προγράμματος περιήγησης που ορίσαμε, το πρόγραμμα οδήγησης προγράμματος περιήγησης χρησιμοποιεί αυτόν τον διακομιστή HTTP για τη λήψη των αιτημάτων HTTP και καθορίζει τα βήματα που απαιτούνται για την εφαρμογή της εντολής Selenium.
Η δημιουργημένη λογική μας εκτελείται στο πρόγραμμα περιήγησης, και στη συνέχεια το αποτέλεσμα εκτέλεσης αποστέλλεται πίσω στον διακομιστή HTTP και στέλνει ξανά την κατάσταση στο σενάριο αυτοματισμού.
Έτσι, μετά τον καθορισμό του προγράμματος οδήγησης μπορούμε να έχουμε πρόσβαση σε όλες τις ενσωματωμένες μεθόδους της κατηγορίας οδηγού όπως:
- findElement ();
- Κλείσε();
- getClass (); και πολλά άλλα
Ανατρέξτε στο στιγμιότυπο οθόνης:
Για πρόσβαση σε αυτές τις μεθόδους, πληκτρολογήστε ' οδηγός. 'Στο πρόγραμμα επεξεργασίας και θα εμφανίσει όλες τις μεθόδους αλλιώς μπορείτε να πατήσετε' ctrl + space 'και θα σας δείξει τις μεθόδους.
Ανατρέξτε στο στιγμιότυπο οθόνης:
Μερικές φορές οι ενσωματωμένες μέθοδοι δεν είναι προσβάσιμες όταν πατάτε 'ctrl + space'. Στη συνέχεια, πρέπει να ελέγξετε τις ρυθμίσεις διαδρομής JAVA_HOME που γίνονται στο Environment Variable και να βεβαιωθείτε ότι είναι σωστές.
Βήματα για τη ρύθμιση της μεταβλητής περιβάλλοντος:
- Μεταβείτε στον Πίνακα Ελέγχου -> Κάντε κλικ στο Σύστημα
- Μεταβείτε στις Ρυθμίσεις συστήματος εκ των προτέρων
- Κάντε κλικ στο κουμπί Μεταβλητές περιβάλλοντος
- Ορίστε τη διαδρομή JAVA_HOME κάνοντας κλικ στο νέο κουμπί.
Το Selenium έρχεται με το προεπιλεγμένο πρόγραμμα οδήγησης Mozilla Firefox το οποίο είναι ομαδοποιημένο σε αρχείο βάζου Selenium WebDriver. Αυτός είναι ο λόγος για τον οποίο καλείτε το πρόγραμμα οδήγησης του Firefox, δεν απαιτείται ρύθμιση. Εάν θέλουμε να χρησιμοποιήσουμε άλλα προγράμματα περιήγησης, πρέπει να ρυθμίσουμε την ιδιότητα του συστήματος.
Συνιστώμενη ανάγνωση => Δοκιμή Cross Browser χρησιμοποιώντας Selenium Grid
Δοκιμή μεταξύ προγραμμάτων περιήγησης με χρήση του Selenium WebDriver
Τώρα, θα δούμε τη ρύθμιση και την εκτέλεση προγραμμάτων οδήγησης στα παρακάτω προγράμματα περιήγησης:
# 1) Mozilla Firefox
#δύο) Google Chrome
# 3) Internet Explorer
# 4) ΛΥΡΙΚΗ ΣΚΗΝΗ
# 5) Ghost Driver ή PhantomJS
# 6) Ενότητα HTML
Μπορείτε να κατεβάσετε τα προγράμματα οδήγησης για τα αναφερόμενα προγράμματα περιήγησης (εκτός PhantomJS και HTML Unit - ελέγξτε παρακάτω για αυτά): ΣελήνιοHQ
Υποθέτοντας ότι όλοι γνωρίζετε τα διάφορα προγράμματα περιήγησης που αναφέρονται παραπάνω, θα εξηγήσω τώρα τι είναι Οδηγός φαντασμάτων και Πρόγραμμα οδήγησης μονάδας HTML λειτουργικότητα και πώς να τα ρυθμίσετε για το σενάριό σας.
# 1) Πρόγραμμα οδήγησης μονάδας HTML
Χρησιμοποιώντας αυτό το πρόγραμμα οδήγησης μπορούμε να κάνουμε Headless Browser Testing που σημαίνει ότι δεν υπάρχει GUI για αυτό που μπορείτε να δείτε καθώς εκτελείται εσωτερικά. Και, δεν μπορείτε να εκτελέσετε όλες τις λειτουργίες όπως κάνετε σε κανονικά προγράμματα περιήγησης.
Γενικά, για δοκιμές, δεν συνιστάται το πρόγραμμα οδήγησης μονάδας HTML. Ωστόσο, μπορούμε να το χρησιμοποιήσουμε καθώς είναι πιο γρήγορο, η πιο ελαφριά εφαρμογή του WebDriver χρησιμοποιείται για τη δημιουργία δεδομένων δοκιμής, για τη μετάδοση του περιεχομένου μιας ιστοσελίδας σε άλλο πρόγραμμα ή σενάριο.
Για τη χρήση του προγράμματος οδήγησης μονάδας HTML δεν χρειάζεται να εγκαταστήσετε επιπλέον API ή αρχεία βάζων. Μπορείτε να το χρησιμοποιήσετε μόλις έχετε αυτόνομο βάζο διακομιστή Selenium.
Ανατρέξτε στον παρακάτω κωδικό:
//Create a Java Project, under it create a package, and under package create a class packageheadless_browser_testing; import org.openqa.Selenium.WebDriver; importorg.openqa.Selenium.htmlunit.HtmlUnitDriver; import org.testng.Assert; import org.testng.annotations.Test; publicclassvefifyTestTitle { //You can run your script with TestNG or JUnit or using Java Application // I am using TestNG and using TestNG annotations @Test publicvoidverifyFacebookTitle() { //Call HtmlUnit Driver WebDriver driver = newHtmlUnitDriver(true); //It will get the Facebook URL and run the script in background, means you //will not see the Facebook page driver.get('http://www.facebook.com'); //It will fetch the FB title and store in String String facebook_Title= driver.getTitle(); //Assert condition will check the expected and actual title, if it matches //our test passes Assert.assertTrue(facebook_Title.contains('Facebook')); System.out.println(facebook_Title); } }
Παραγωγή : Facebook - Συνδεθείτε ή Εγγραφείτε
ΠΑΛΗ : verifyFacebookTitle
Το πρόγραμμα οδήγησης μονάδας HTML δεν συνιστάται για σύνθετες εφαρμογές και το οποίο χρησιμοποιεί jquery ή javascript ή HTML 5. Από προεπιλογή, δεν υποστηρίζει javascript. Ως εκ τούτου, πρέπει να δώσετε την προϋπόθεση αληθινή για να την υποστηρίξετε.
# 2) Πρόγραμμα οδήγησης PhantomJS
Το πρόγραμμα περιήγησης PhantomJS χρησιμοποιείται επίσης για την εκτέλεση δοκιμών προγράμματος περιήγησης χωρίς κεφαλή. Χρησιμοποιεί ένα API JavaScript. Μπορείτε να το χρησιμοποιήσετε για έλεγχο χωρίς ιστότοπους και πρόσβαση σε ιστοσελίδες. Ένα πλεονέκτημα έναντι του προγράμματος οδήγησης μονάδας HTML είναι ότι μπορεί να συλλάβει στιγμιότυπα οθόνης. Αυτό σημαίνει ότι η δοκιμή σας θα εκτελεστεί στο παρασκήνιο και θα τραβήξει τα στιγμιότυπα οθόνης.
Για να χρησιμοποιήσετε το πρόγραμμα περιήγησης PhantomJS με το Selenium WebDriver, πρέπει να χρησιμοποιήσετε και να κατεβάσετε το GhostDriver. Είναι μια εφαρμογή του πρωτοκόλλου καλωδίων WebDriver σε απλό JS για PhantomJS browser. Τώρα στην τελευταία κυκλοφορία του PhantomJS είχαν ενσωματώσει το GhostDriver με το PhantomJS. Επομένως, δεν χρειάζεται να το εγκαταστήσουμε ξεχωριστά τώρα.
Κατεβάστε το αρχείο PhantomJs.exe από εδώ: PhantomJs
Για να εκτελέσετε το PhantomJS, απαιτούμε πρόγραμμα οδήγησης PhantomJS. Λήψη συνδέσμου: Πρόγραμμα οδήγησης PhantomJS
Και πρέπει να ορίσουμε το αρχείο ιδιοκτησίας PhantomJs.binary.path, όταν εκτελούμε το σενάριο.
Ανατρέξτε στον παρακάτω κωδικό:
//Create a Java Project, then under it create a package, under package create a class packageheadless_browser_testing; import java.io.File; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.phantomjs.PhantomJSDriver; import org.testng.annotations.Test; publicclass phantom_Js_Driver { //You can run your script with TestNG or JUnit or using Java Application // I am using TestNG and using TestNG annotations @Test publicvoidverifyFacebookTitle() { //Set the path to access the phantomjs.exe file File src = newFile('E:\exe\phantomjs-2.1.1-windows\bin\phantomjs.exe'); //You need to specify the property here and give path of driver System.setProperty('phantomjs.binary.path', src.getAbsolutePath()); //Call your PhantomJs Driver WebDriver driver = newPhantomJSDriver(); //It will get the Facebook URL and run the script in background, means you //will not see the Facebook page driver.get('http://www.facebook.com'); //Print the currentURL of the page System.out.println(driver.getCurrentUrl()); } }
Παραγωγή : https://www.facebook.com/
PASSED: verifikasiFacebookTitle
καλύτερος δωρεάν μετατροπέας βίντεο για Windows 7
# 3) Πρόγραμμα οδήγησης Mozilla Firefox
Πώς να εκτελέσετε το WebDriver στο πρόγραμμα περιήγησης Firefox:
Για να καλέσετε το πρόγραμμα οδήγησης Firefox δεν χρειάζεται να εγκαταστήσετε ή να διαμορφώσετε επιπλέον αρχεία βάζων. Είναι το προεπιλεγμένο πρόγραμμα οδήγησης που υποστηρίζει το Selenium WebDriver.
Ανατρέξτε στον παρακάτω κώδικα για εκτέλεση:
package Different_Drivers; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.firefox.FirefoxDriver; import org.testng.annotations.Test; import org.testng.Assert; public class FF_Driver { @Test public void Test_Gmail_Login() { WebDriver driver = new FirefoxDriver(); driver.get(“http://www.gmail.com”); driver.findElement(By.id('Email')).sendKeys('Enter user name'); driver.findElement(By.id('next')).click(); Thread.sleep(2000); driver.findElement(By.id('Passwd')).sendKeys('Enter Password'); driver.findElement(By.id('signIn')).click(); Thread.sleep(2000); String title_Of_Page = driver.getTitle(); Assert.assertEquals(driver.getTitle(), title_Of_Page); System.out.println('Page title matched'); } }
Παραγωγή : Ο τίτλος της σελίδας ταιριάζει
ΠΑΛΗ : Test_Gmail_Login
# 4) Πρόγραμμα οδήγησης Google Chrome
Πώς να εκτελέσετε το WebDriver στο πρόγραμμα περιήγησης Chrome:
Για να καλέσετε το πρόγραμμα οδήγησης Google Chrome, κατεβάστε πρώτα το πρόγραμμα οδήγησης και, στη συνέχεια, ορίστε την ιδιότητα συστήματος χρησιμοποιώντας τον παρακάτω κώδικα:
package Different_Drivers; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.chrome.ChromeDriver; import org.testng.annotations.Test; importjava.util.Iterator; import java.util.Set; public class googleChrome_Driver { @Test public void Test_Rediff_Alert()throws InterruptedException{ //set system property, so that we can access chrome driver System.setProperty('webdriver.chrome.driver', 'E:\chromedriver.exe'); // It will open the Chrome browser and execute your logic WebDriverdriver = new ChromeDriver(); //Open rediff page in chrome browser driver.get(“http://www.rediffmail.com”); //wait for page to load Thread.sleep(5000); // It will get and store the main window page handle or id String mainpage = driver.getWindowHandle(); String subwinhandleString = null; //set a loop which will store all window pop up handles Set handle = driver.getWindowHandles(); Iterator iterator = handle.iterator(); while(iterator.hasNext ()) { subwinhandleString = iterator.next( ); } driver.switchTo().window(subwinhandleString); System.out.println(driver.getTitle()); Thread.sleep(2000); driver.close(); //Again switch back to main window driver.switchTo().window(mainpage); System.out.println(driver.getTitle()); } }
Παραγωγή : Καλώς ήλθατε στο rediff.com
Rediff.com: Ηλεκτρονικές αγορές, Rediffmail, Τελευταίες ειδήσεις στην Ινδία, Επιχείρηση, Μπόλιγουντ, Αθλητισμός, Μετοχή, Ζωντανή βαθμολογία κρίκετ, Χρήματα, Κριτικές ταινιών
ΠΑΛΗ : Test_Rediff_Alert
Διαβάστε επίσης=> Σεμινάριο σεμινάριο - Εντοπίστε στοιχεία στο πρόγραμμα περιήγησης Chrome και IE
# 5) Πρόγραμμα οδήγησης Internet Explorer
Τρόπος εκτέλεσης του WebDriver στο πρόγραμμα περιήγησης IE:
Για κλήση του προγράμματος οδήγησης Internet Explorer, κατεβάστε το πρόγραμμα οδήγησης και ορίστε μια ιδιότητα συστήματος.
Ανατρέξτε στον παρακάτω κωδικό:
package Different_Drivers; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.Test; public class internetExplorer_Driver { @Test public void ieDriver() throws InterruptedException { //set system property, so that we can access IE driver System.setProperty('webdriver.ie.driver','E\IEDriverServer.exe'); //set desiredcapabilites for calling ie driver DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); WebDriver driver = new InternetExplorerDriver(capabilities); driver.get('https://www.google.com'); Thread.sleep(5000); String title_Of_Page = driver.getTitle(); System.out.println(title_Of_Page); } }
Παραγωγή : Google
ΠΑΛΗ : ieDriver
# 6) Πρόγραμμα οδήγησης Opera
Για κλήση του Opera Driver, κατεβάστε το πρόγραμμα οδήγησης και ορίστε την ιδιότητα του συστήματος.
Ανατρέξτε στον παρακάτω κωδικό:
package Different_Drivers; import org.openqa.Selenium.WebDriver; importorg.openqa.Selenium.opera.OperaDriver; import org.testng.annotations.Test; import org.testng.Assert; public class operaDriver { @Test public void createAccount(){ //set system property, so that we can access opera driver System.setProperty('webdriver.opera.driver', 'E:\operadriver.exe'); // it will open the opera browser WebDriver driver = newOperaDriver(); driver.get('https://www.google.com/intl/en/mail/help/about.html'); // Here driver will try to find out create an account link on the application WebElement createAccount = driver.findElement(By.xpath('.//*[@id='gmail-create-account']')); Assert.assertTrue(createAccount.isDisplayed()); //Create Account will be clicked only if the above condition is true createAccount.click(); System.out.println(createAccount.getText()); } }
Παραγωγή : Δημιουργία λογαριασμού
ΠΑΛΗ : OperaDriver
Διαβάστε επίσης=> Σχολιασμοί TestNG στο Σελήνιο
συμπέρασμα
Σε αυτό το σεμινάριο, κάλυψα τον τρόπο ρύθμισης και χρήσης προγραμμάτων οδήγησης για διάφορα προγράμματα περιήγησης.
Είδαμε πώς το HTML Unit Driver και το PhantomJS Driver διαφέρουν από τα άλλα προγράμματα περιήγησης που χρησιμοποιούνται συνήθως. Ο λόγος πίσω από αυτό είναι ότι δεν χρησιμοποιούνται για κοινή περιήγηση, όπως το Google Chrome και άλλα. Αντ 'αυτού, λειτουργούν εσωτερικά και εκτελούν τις εντολές μας γρηγορότερα, καθώς δεν υποστηρίζει GUI. Μπορούμε επίσης να εκτελέσουμε scripting από διακομιστή με το PhantomJS.
Τώρα που έχουμε καταλάβει πώς να ρυθμίζουμε προγράμματα οδήγησης και να τα κάνουμε να λειτουργούν σε διάφορα προγράμματα περιήγησης, πρέπει να είμαστε σαφείς γιατί το κάνουμε αυτό. Όπως γνωρίζετε όλοι, το Selenium υποστηρίζει μόνο διαδικτυακές εφαρμογές και για να τις ανοίξουμε χρειαζόμαστε ένα πρόγραμμα περιήγησης.
Υπάρχουν διάφορα προγράμματα οδήγησης (που συζητήθηκαν παραπάνω) διαθέσιμα για να ανοίξουν αυτά τα προγράμματα περιήγησης. Το WebDriver είναι μια διεπαφή που περιέχει όλες τις αφηρημένες μεθόδους που ορίζονται σε αυτό. Ως εκ τούτου, καλούμε αυτές τις μεθόδους που συζητούνται σε αυτό το σεμινάριο για την εκτέλεση των καθηκόντων μας.
Ενημερώστε μας εάν έχετε απορίες / σχόλια σχετικά με αυτό το σεμινάριο.
Συνιστώμενη ανάγνωση
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- Υλοποίηση του πρώτου μας σεναρίου WebDriver - Selenium WebDriver Tutorial # 10
- Συχνές ερωτήσεις για το σελήνιο
- Τρόπος χειρισμού ειδοποιήσεων / αναδυόμενων παραθύρων στο Selenium WebDriver - Selenium Tutorial # 16
- Σιωπηρή και ρητή αναμονή στο Selenium WebDriver (Τύποι σεληνίου περιμένει)
- Οδηγός για τη δημιουργία εκτεταμένων αναφορών στο Selenium WebDriver
- Tutorial GeckoDriver Selenium: Πώς να χρησιμοποιήσετε το GeckoDriver σε έργα Selenium