Σημαντικές εντολές προγράμματος οδήγησης Selenium του 2021

Σε αυτήν τη σειρά σεμιναρίου θα μάθουμε για όλες τις εξαντλητικές εντολές webdriver σεληνίου ξεκινώντας από τις πολύ βασικές εντολές σεληνίου έως τις προγενέστερες εντολές οδηγού Selenium με την παρακάτω σειρά άρθρων: 

εντολές webdriver selenium
Εντολές webdriver Selenium

Βασικές εντολές Selenium Webdriver - Ερωτήσεις: 

  • Selenium πλοηγηθείτε στη διεύθυνση url
  • Selenium πλοηγηθείτε μπροστά και πλοηγηθείτε πίσω, δηλαδή Selenium browser πλοήγηση με ιστορικό προγράμματος περιήγησης
  • Σελίδα ανανέωσης σεληνίου
  • Κάντε κλικ στο σελήνιο
  • Σελήνια sendkeys
  • Πεδίο σαφούς κειμένου σεληνίου
  • Παράθυρο μεγιστοποίησης σεληνίου
  • Παράθυρο ελαχιστοποίησης σεληνίου
  • Selenium κλείσιμο προγράμματος περιήγησης
  • Το σελήνιο κλείνει το πρόγραμμα περιήγησης

Ενδιάμεσο σελήνιο πρόγραμμα οδήγησης web εντολές - Ερωτήσεις:

  • Πτώση σεληνίου
  • Μεταφορά και απόθεση σεληνίου / κατηγορία ενεργειών στο σελήνιο / τρόπος μεταφοράς και απόθεσης σεληνίου
  • Τοποθετήστε το ποντίκι στο σελήνιο
  • Ειδοποιήσεις στο σελήνιο / πώς να χειριστείτε τις ειδοποιήσεις στο σελήνιο / πώς να χειριστείτε το αναδυόμενο παράθυρο στο σελήνιο
  • Κατηγορία δράσης στο σελήνιο / δράσεις στο σελήνιο
  • Javascriptexecutor / javascriptexecutor στο σελήνιο
  • Μετακινηθείτε προς τα κάτω στο σελήνιο / μετακινηθείτε στο σελήνιο / πώς να μετακινηθείτε στο σελήνιο / μετακινηθείτε προς τα πάνω στο σελήνιο / σελίδα προς τα κάτω στο σελήνιο / σελίδα κύλισης στο σελήνιο / κύλιση στο πρόγραμμα οδήγησης σεληνίου
  • Στιγμιότυπο οθόνης σεληνίου

Προηγμένες εντολές Selenium WebDriver - Ερωτήσεις:

  • Κάντε δεξί κλικ στο σελήνιο
  • Κάντε κλικ στο σελήνιο
  • Κάντε διπλό κλικ σε σελήνιο
  • πλήκτρα πληκτρολογίου στο πρόγραμμα οδήγησης σεληνίου
  • Επεξήγηση εργαλείου σεληνίου
  • Selenium Κάντε κλικ και κρατήστε πατημένο

Βασικές εντολές σεληνίου - Απαντήσεις: 

Selenium πλοήγηση στη διεύθυνση url:

Στο Selenium Webdriver εάν θέλουμε να πλοηγηθούμε ή να ανοίξουμε οποιαδήποτε συγκεκριμένη διεύθυνση URL μέσω του προγράμματος περιήγησής μας, τότε μπορούμε να το κάνουμε σε δύο διαφορετικές προσεγγίσεις, η μία είναι με τη μέθοδο get () και μια άλλη με την πλοήγηση, θα ρίξουμε μια ματιά στο πώς θα μπορούσε να είναι Έγινε : 

public void getUrl(String url) {
  try {
     driver.get(url);
     BASE_LOGGER.info("Successfully navigated to the URL as :  " + url);
  } catch (Exception ex) {
     String exceptionData = ex.getCause().getMessage();
     BASE_LOGGER.error("Unable to navigate to URL  : " + url + " with the error as : " + exceptionData);

  }
}

Ο κωδικός που μπορείτε να γράψετε για να πλοηγηθείτε στη διεύθυνση url είναι driver.get ("http://example.com"), ενώ το πρόγραμμα οδήγησης είναι η παρουσία Webdriver της διεπαφής Selenium WebDriver.

επισκεφθείτε εδώ για να καταλάβετε πώς να ξεκινήσετε όλο το πρόγραμμα περιήγησης στο Selenium.

Πώς λειτουργεί η μέθοδος get εσωτερικά στο Selenium: 

Μόλις κληθεί αυτή η μέθοδος get () από το σενάριο δοκιμής, τότε η αναφορά Webdriver, δηλαδή το πρόγραμμα οδήγησης θα περιμένει έως ότου φορτωθεί η σελίδα, στην πραγματικότητα ενεργοποιείται η μέθοδος get () εσωτερικά λειτουργία φόρτωσης η οποία επιστρέφει τη λαβή στην αναφορά του προγράμματος οδήγησης μόλις φορτωθεί πλήρως η σελίδα.

Selenium πλοηγηθείτε προς τα εμπρός και πλοηγηθείτε πίσω:

Μια άλλη προσέγγιση για πλοήγηση στη διεύθυνση url με το ιστορικό του προγράμματος περιήγησης είναι με τη χρήση της μεθόδου πλοήγησης (), όπου το Selenium χρησιμοποιεί το ιστορικό του προγράμματος περιήγησης για πλοήγηση προς τα εμπρός ή για πλοήγηση πίσω με τα αντίστοιχα URL, όπως: 

Σελήνιο πλοηγηθείτε προς τα εμπρός

public void navigateForward() {
  try {
     driver.navigate().forward();
     BASE_LOGGER.info("Successfully navigated forward" );
  } catch (Exception ex) {
     String exceptionData = ex.getCause().getMessage();
     BASE_LOGGER.error("Unable to navigate with the error as : " + exceptionData);

  }
}

Selenium πλοήγηση πίσω: 

public void navigateBack() {
  try {
     driver.navigate().back();
     BASE_LOGGER.info("Successfully navigated Back to the URL ");
  } catch (Exception ex) {
     String exceptionData = ex.getCause().getMessage();
     BASE_LOGGER.error("Unable to navigate Back to URL  : with the error as : " + exceptionData);
  }
}


Σελίδα ανανέωσης σεληνίου

Μπορούμε να χρησιμοποιήσουμε τη μέθοδο ανανέωσης () από το Selenium navigate 

public void seleniumRefreshPage() {
  try {
     driver.navigate().refresh();
     BASE_LOGGER.info("Successfully done the Selenium Refresh Page ");
  } catch (Exception ex) {
     String exceptionData = ex.getCause().getMessage();
     BASE_LOGGER.error("Unable to perform Selenium Refresh Page : with the error as : " + exceptionData);
  }
}

Κάντε κλικ στο σελήνιο

Για να εκτελέσετε οποιαδήποτε λειτουργία κλικ με κλικ σελήνιο πρέπει να χρησιμοποιήσουμε τη μέθοδο που ονομάζεται κλικ () στην παρακάτω προσέγγιση, υπάρχουν άλλοι τρόποι για να εκτελέσετε τη λειτουργία κλικ σε οποιοδήποτε από τα WebElement στο Σελήνιο, δηλαδή χρησιμοποιώντας το JavaScriptClick το οποίο είναι πολύ χρήσιμο μερικές φορές ανάλογα με τις καταστάσεις όπου η κανονική μέθοδος κλικ σελήνιο λειτουργεί με πολύ σταθερό τρόπο, υπάρχουν ορισμένες περιπτώσεις όπου εάν αυτοματοποιείτε με το πρόγραμμα περιήγησης IE και εάν η υπό δοκιμή Εφαρμογή Ιστού έχει δημιουργηθεί σε κάποιο είδος bootstrap JS, τότε η κανονική μέθοδος κλικ σεληνίου ενδέχεται να μην λειτουργεί κάποια στιγμή , σε αυτές τις περιπτώσεις θα μπορούσατε να χρησιμοποιήσετε τη μέθοδο κλικ Javascript.

public void safeClick(By element) {
  try {
      driver.findElement(element).click();
     BASE_LOGGER.info("Safeclick operation has been performed for the locator : " + String.valueOf(element));

  } catch (Exception e) {

     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing Safeclick on the element : " + element);
  }
}

Μπορείτε να περάσετε το στοιχείο χρησιμοποιώντας διαφορετικές στρατηγικές εντοπισμού (π.χ. xpath, name, css κ.λπ.) στη μέθοδο που ονομάζεται findElement () και στη συνέχεια να εκτελέσετε τη λειτουργία μεθόδου κλικ () όπως παραπάνω.

Σελήνια sendkeys

Όταν πρέπει να εισαγάγουμε κείμενο σε κάποιο πλαίσιο κειμένου μέσω Selenium, χρησιμοποιούμε τη μέθοδο Selenium sendkeys () περνώντας το "Κείμενο που θα εισαχθεί" ως παράμετρος στη μέθοδο sendKeys ("Κείμενο που θα εισαχθεί") και παρόμοια με η μέθοδος click () αυτή η μέθοδος εφαρμόζεται επίσης σε οποιοδήποτε webElement (εδώ πλαίσιο κειμένου web), οπότε πρέπει να χρησιμοποιήσουμε το driver.findElement για να στείλουμε το κείμενο σε αυτό το TextBox.

Ο δείγμα κώδικα έχει ως εξής: 

public void enterTextIntoElement(By element, String textToBeEntered) {
  try {
     driver.findElement(element).sendKeys(textToBeEntered);
     BASE_LOGGER.info(
           "enterTextIntoElement operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception ex) {
     String exceptionData = ex.getCause().getMessage();
     BASE_LOGGER.error("enterTextIntoElement operation has been failed for the locator : "
           + String.valueOf(element) + " with the exception i.e : " + exceptionData);
  }
}

Πεδίο σαφούς κειμένου σεληνίου

Εάν θέλουμε να διαγράψουμε δεδομένα από ένα προηγουμένως συμπληρωμένο πεδίο κειμένου, μπορούμε να χρησιμοποιήσουμε τη μέθοδο που ονομάζεται Clear () και επίσης με τη βοήθεια της Keys Class στο Selenium μπορούμε να το κάνουμε, μέσω του οποίου μπορούμε να πάρουμε τις λειτουργίες πληκτρολογίου απευθείας μαζί με τις συντομεύσεις πληκτρολογίου :

Για να διαγράψετε τα Δεδομένα με τη βοήθεια της σαφούς () μεθόδου μπορούμε να γράψουμε με την παρακάτω προσέγγιση: 

public void clearField(By element) {
  try {
     driver.findElement(element).clear();
     BASE_LOGGER.info("ClearField operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("ClearField operation has been failed for the locator : " + String.valueOf(element)
           + " with the exception i.e : " + exceptionData);
  }
}

Χρησιμοποιώντας την κατηγορία Keys μπορούμε επίσης να διαγράψουμε τα πεδία κειμένου στην ακόλουθη προσέγγιση.

Παράθυρο μεγιστοποίησης σεληνίου

Ενώ εργαζόμαστε με τον αυτοματισμό του προγράμματος περιήγησης, εάν πρέπει να μεγιστοποιήσουμε το παράθυρο στο σελήνιο, τότε θα μπορούσαμε να χρησιμοποιήσουμε τις ακόλουθες προσεγγίσεις: 

  • Χρησιμοποιώντας τη μέθοδο μεγιστοποίησης () 
  • Αν είναι ChromeBrowser, τότε μπορούμε επίσης να χρησιμοποιήσουμε το ChromeOptions και προσθέτοντας το όρισμα "start-maximized" μαζί με το ChromeOptions.

Selenium Maximize Window χρησιμοποιώντας τη μέθοδο Maximize ():  

public void maximizeWindow() {
  try {
     driver.manage().window().maximize();
     BASE_LOGGER.info("Successfully Maximized the Window");
  } catch (Exception e) {
     BASE_LOGGER.info("Exception Occured while Maximizing the Window As : " + e.getCause().getMessage());
  }
}

Selenium Maximize Window χρησιμοποιώντας ChromeOptions για ChromeBrowser:

Χρησιμοποιώντας την παρακάτω μέθοδο ορίζουμε μια παρουσία προγράμματος περιήγησης chrome για το Webdriver σε μεγιστοποιημένη λειτουργία και η επαναλαμβανόμενη περίοδος προγράμματος οδήγησης θα συνεχίσει στην ίδια λειτουργία (π.χ. μεγιστοποίηση παραθύρου) για περαιτέρω λειτουργία ιστού σύμφωνα με το σενάριο.

public WebDriver openBrowserInMaximizeWindow(){
  try {
     ChromeOptions options = new ChromeOptions();
     options.addArguments("start-maximized");
     WebDriver driver = new ChromeDriver(options);
    
  }catch(Exception e){
     BASE_LOGGER.error("Exception encountered with  : " + e.getCause().getMessage());
  }
  return driver;
}

Παράθυρο ελαχιστοποίησης σεληνίου

Μπορούμε να ελαχιστοποιήσουμε το παράθυρο χρησιμοποιώντας την εντολή Selenium minimize () με την ακόλουθη προσέγγιση:  

public void minimizeWindow() {
  try {
     driver.manage().window().minimize();
     BASE_LOGGER.info("Successfully Minimized the Window");

  } catch (Exception e) {
     BASE_LOGGER.info("Exception Occured while Minimizing the Window As : " + e.getCause().getMessage());
  }
}

Selenium κλείσιμο προγράμματος περιήγησης:

Για να κλείσουμε το πρόγραμμα περιήγησης στο Selenium χρησιμοποιούμε τη μέθοδο close () στην παρακάτω προσέγγιση: 

public void closeCurrentWindow() {
  try {
     if (null != driver) {
        driver.close();
        BASE_LOGGER.info("Successfully closed the current Window/Browser");
     } else {
        BASE_LOGGER.info("Unable to close the current Window/browser instance as Its NULL");
     }
  } catch (Exception e) {
     BASE_LOGGER.info("Exception occurred while closing the current Window/Browser");
  }
}

Το σελήνιο κλείνει το πρόγραμμα περιήγησης

Για να κλείσετε όλες τις παρουσίες του προγράμματος περιήγησης στο Selenium, χρησιμοποιούμε τη μέθοδο quit () στην παρακάτω προσέγγιση: 

public void quitBrowser() {
  try {
     if (null != driver) {
        driver.quit();
        BASE_LOGGER.info("Successfully QUIT Browser");
     } else {
        BASE_LOGGER.info("Unable to QUIT the Browser as Its NULL");
     }
  } catch (Exception e) {
     BASE_LOGGER.error("Exception occurred while QUITING Browser");
  }
}

Διαφορά μεταξύ driver.close () και driver.quit () στο Selenium:

  • Το driver.close () κλείνει μόνο το παράθυρο του προγράμματος περιήγησης που έχει την τρέχουσα εστίαση των παρουσιών του προγράμματος οδήγησης web και από την άλλη το driver.quit () κλείνει όλα τα παράθυρα του προγράμματος περιήγησης που σχετίζονται με την τρέχουσα περίοδο λειτουργίας των προγραμμάτων περιήγησης. 
  • Εσωτερικά το driver.quit () καλεί μια μέθοδο που ονομάζεται driver.dispose ().

Εντολές ενδιάμεσου προγράμματος οδήγησης web Selenium - απαντήσεις:

Πτώση σεληνίου:

Στη δομή DOM της ιστοσελίδας, το αναπτυσσόμενο μενού υλοποιείται είτε από το Select ή το Tage του HTML. Για να εργαστείτε με το Dropdown με το Selenium και να εκτελέσετε ορισμένα 

λειτουργίες ιστού στα αναπτυσσόμενα μενού, πρέπει να χρησιμοποιήσουμε την κατηγορία "Επιλογή" από το Selenium WebDrivers API ως μέρος του "org.openqa.selenium.support.uiΠακέτο από το Selenium WebDriver. 

Υπάρχουν 2 διαφορετικές δηλώσεις προβλημάτων ή ρωτάτε ενώ εργάζεστε με το Selection of DropDown στο Selenium: 

  • Επιλογή μεμονωμένου στοιχείου σε αναπτυσσόμενο μενού κάθε φορά
  • Επιλογή πολλαπλών στοιχείων σε ένα αναπτυσσόμενο μενού κάθε φορά. 

Επιλογή μεμονωμένου στοιχείου σε αναπτυσσόμενο μενού κάθε φορά

Στην παρακάτω προσέγγιση μπορούμε να εργαστούμε με το Dropdown:  

Βήμα πρώτο :

Θα πρέπει να δημιουργήσετε μια λαβή για το DropDown WebElement χρησιμοποιώντας τη δημιουργία αντικειμένου Select class με τον ακόλουθο τρόπο:

Επιλέξτε select = new Select (WebElement webelement).

Βήμα δυο : 

Υπάρχουν 3 διαφορετικές προσεγγίσεις για να επιλέξετε την τιμή από το αναπτυσσόμενο μενού στο Σελήνιο, θα μπορούσαμε να χρησιμοποιήσουμε οποιαδήποτε από τις παρακάτω μεθόδους για να επιλέξετε την τιμή από το αναπτυσσόμενο μενού στο Σελήνιο: 

  • selectByVisibleText
  • επιλέξτεByIndex
  • selectByValue

Εδώ είναι η παρακάτω προσέγγιση που μπορούμε να ακολουθήσουμε για να επιλέξετε τιμή από το αναπτυσσόμενο μενού: 

Πτώση σεληνίου - Προσέγγιση XNUMX: 
Στην προσέγγιση XNUMX μπορείτε να χρησιμοποιήσετε το κείμενο που είναι ορατό της επιθυμητής επιλογής του Webelement.

public void selectFromDropDownByText(By locator, String visibleText) {
  try {
     Select dropDownElement = new Select(driver.findElement(locator));
     dropDownElement.selectByVisibleText(visibleText);
     BASE_LOGGER.info("SelectFromDropDownByText operation has been performed for the locator : "
           + String.valueOf(locator));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing selectFromDropDownByText on the element : " + locator);
 }
}

Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου και το ορατό κείμενο που θέλετε να επιλέξετε από το αναπτυσσόμενο και στη συνέχεια θα εκτελέσει την επιθυμητή λειτουργία είναι η επιλογή του αναμενόμενου αναπτυσσόμενου στοιχείου. 

Πτώση στο σελήνιο - Προσέγγιση δύο:

Σε αυτήν την προσέγγιση επιλέγετε το Webelement χρησιμοποιώντας το χαρακτηριστικό value της επιλογής WebElement που θέλετε από το αναπτυσσόμενο μενού: 

public void selectFromDropDownByValue(By locator, String visibleText) {
  try {
     Select dropDownElement = new Select(driver.findElement(locator));
     dropDownElement.selectByValue(“Desired Webelement’s value ”);
     BASE_LOGGER.info("selectFromDropDownByValue operation has been performed for the locator : "
           + String.valueOf(locator));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing selectFromDropDownByValue on the element : " + locator);
  }
}

Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου μενού και το χαρακτηριστικό τιμής του WebElement του οποίου θέλετε να επιλέξετε από το αναπτυσσόμενο μενού και θα εκτελέσει την επιθυμητή λειτουργία Επιλέγοντας το αναμενόμενο αναπτυσσόμενο στοιχείο. 

Πτώση σεληνίου - προσέγγιση τρία:

Σε αυτήν την προσέγγιση επιλέγετε το Webelement χρησιμοποιώντας το ευρετήριο (σειρά του WebElement στην ετικέτα επιλογής HTML) της επιθυμητής επιλογής WebElement από το αναπτυσσόμενο μενού, το ευρετήριο ξεκινά γενικά από το 0:

public void selectFromDropDownByIndex(By locator, String visibleText) {
  try {
     Select dropDownElement = new Select(driver.findElement(locator));
     dropDownElement.selectByIndex(5);
     BASE_LOGGER.info("selectFromDropDownByIndex operation has been performed for the locator : "
           + String.valueOf(locator));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing selectFromDropDownByIndex on the element : " + locator);
  }
}

Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου μενού και το ευρετήριο / σειρά του WebElement (στην Επιλογή ετικέτας του αναπτυσσόμενου μενού) του οποίου θέλετε να επιλέξετε από το αναπτυσσόμενο μενού, τότε θα εκτελέσει την επιθυμητή λειτουργία Επιλέγοντας το αναμενόμενο αναπτυσσόμενο στοιχείο .

Επιλογή πολλαπλών στοιχείων σε ένα αναπτυσσόμενο μενού κάθε φορά 

Εξαρτάται από τη δομή και την εφαρμογή HTML DOM εάν επιτρέπεται σε οποιοδήποτε αναπτυσσόμενο στοιχείο να έχει πολλαπλή επιλογή στοιχείων. Για να επιλέξετε πολλά στοιχεία στο Σελήνιο πρέπει να ακολουθήσουμε παρακάτω δύο βήματα: 

Βήμα πρώτο : Ελέγξτε αν το DropDown WebElement επιτρέπει την πολλαπλή επιλογή χρησιμοποιώντας τη μέθοδο isMultiple (), Αυτό επιστρέφει boolean ως αληθινό ή ψευδές.

Βήμα δυο : αν το παραπάνω βήμα επιστρέψει αληθινό, τότε το αναπτυσσόμενο μενού επιτρέπει την επιλογή πολλαπλών επιλογών. Και μετά από αυτό μπορούμε να χρησιμοποιήσουμε τις παραπάνω αναφερόμενες οποιεσδήποτε / και τις τρεις διαφορετικές προσεγγίσεις για την επιλογή πολλαπλών τιμών και την εκτέλεση οποιωνδήποτε επιθυμητών λειτουργιών

Το συμπέρασμα λοιπόν εδώ είναι το δείγμα κώδικα:

WebElement element =driver.findElement(By.xpath("XPATH OF THE DropDown"));
Select selectMultiple = new Select(element);
if(selectMultiple.isMultiple()){
   selectMultiple.selectByIndex(1);
   selectMultiple.selectByIndex(2);
//Similarly We could use other approaches/method for selecting dropdown elements such as selectByVisibleText or selectByValue
}

Σύρετε και αποθέστε σελήνιο :

Στο τμήμα του σεμιναρίου θα μάθουμε όλες τις διαφορετικές προσεγγίσεις της εκτέλεσης Drag and Drop in Selenium όπως: 

  • Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο build ().
  • Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDrop ().
  • Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDropBy ().

Τι είναι το drag and drop στο Selenium και πού χρησιμοποιείται: 

Το Drag And Drop είναι μια συγκεκριμένη λειτουργία όταν οι χρήστες πλοηγούνται στις εφαρμογές ιστού σας και προσπαθούν να εκτελέσουν τη λειτουργία (μεταφορά με κίνηση του ποντικιού) σε κάποιο στοιχείο web που μπορεί να μετακινηθεί ελεύθερα πάνω από την εφαρμογή και μπορεί να πέσει σε κάποια άλλη τοποθεσία της ιστοσελίδας αυτής της εφαρμογής. 

Εδώ το στοιχείο που μεταφέρεται ονομάζεται Source WebElement και το στοιχείο στο οποίο πέφτει ονομάζεται Destination WebElement. 

Για να εκτελέσετε τα παραπάνω σενάρια μέσω Αυτοματισμού με Σελήνιο, πρέπει να μεταφέρουμε και να αποθέσουμε λειτουργίες που παρέχονται από το Selenium.

Διαφορετικές προσεγγίσεις Drag and Drop στο Σελήνιο:

Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο Build (): 

Πώς λειτουργεί η μέθοδος Build () εσωτερικά :

build () από την κατηγορία Actions στο Selenium που είναι μέρος του πακέτου org.openqa.selenium.επιδράσεις παράγει εσωτερικά μια σύνθετη δράση 

συνδυάζοντας όλες τις ενέργειες που έχουν κληθεί ή ενεργοποιηθεί πριν από την κλήση της μεθόδου build ().

Για παράδειγμα:

new Actions(driver).clickAndHold(sourceElement).moveToElement(destinationElement)
       .release(destinationElement).build();

Η παραπάνω δήλωση για την εκτέλεση της λειτουργίας μεταφοράς και απόθεσης χρησιμοποιείται για τη σύνδεση των προηγούμενων ενεργειών όπως οι μέθοδοι clickAndHold, moveToElement και απελευθέρωσης.

Ακολουθεί το παρακάτω απόσπασμα κώδικα για να εκτελέσετε το Drag and Drop in Selenium χρησιμοποιώντας τη μέθοδο κατασκευής της κλάσης Ενέργειες: 

public void dragAndDrop(By source, By destination) {
   try {
       WebElement sourceElement = driver.findElement(source);
       WebElement destinationElement = driver.findElement(destination);
       Actions builder = new Actions(driver);
       Action dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement)
               .release(destinationElement).build();
       dragAndDrop.perform();
       BASE_LOGGER.info("Successfully performed the Drag and Drop action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing DragAndDrop ");
   }
}

Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDrop ():

Πώς λειτουργεί η μέθοδος dragAndDrop () εσωτερικά:

Η μέθοδος dragAndDrop (sourceWebElement, destinationWebElement) βασικά βασίζεται σε δύο ορίσματα, το ένα είναι πηγή και το άλλο είναι webelement προορισμού. 
Το dragAndDrop αφαιρεί την ανάγκη clickAndHold, moveToElement, απελευθερώστε μεθόδους στην κατηγορία Action, χειρίζεται εσωτερικά όλα τα σενάρια που εκτελούνται με αυτές τις μεθόδους.

Ακολουθεί το παρακάτω απόσπασμα κώδικα για την εκτέλεση dragAndDrop με τη μέθοδο dragAndDrop:

public void dragAndDropOps(By source, By destination) {
   try {
       WebElement sourceElement = driver.findElement(source);
       WebElement destinationElement = driver.findElement(destination);
       Actions builder = new Actions(driver);
       builder.dragAndDrop(sourceElement,destinationElement).perform();
       BASE_LOGGER.info("Successfully performed the Drag and Drop action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing DragAndDrop ");
   }
}

Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDropBy ():

Πώς λειτουργεί η μέθοδος dragAndDropBy (πηγή WebElement, int xOffset, int yOffset):

Η μέθοδος dragAndDropBy () παίρνει 3 ορίσματα που είναι: 

Source WebElement: το στοιχείο που σύρεται δηλαδή το στοιχείο προέλευσης 

xOffset: οριζόντια μετατόπιση μετατόπισης της θέσης προορισμού 

yOffset: κάθετη μετατόπιση μετατόπισης της θέσης προορισμού 

Εσωτερικά αυτή η μέθοδος παίρνει το webelement πηγής και μετακινείται και την απελευθερώνει στην τοποθεσία προορισμού. Αυτή η μέθοδος είναι χρήσιμη αν θέλετε να μετακινήσετε οποιοδήποτε στοιχείο webel πηγής σε οποιεσδήποτε τοποθεσίες pixel.

Ακολουθεί το απόσπασμα κώδικα για το DragAndDropBy στο Σελήνιο:

public void dragAndDropByOps(By source, int xOffSet,int yOffSet) {
   try {
       WebElement sourceElement = driver.findElement(source);
       Actions builder = new Actions(driver);
       builder.dragAndDropBy(sourceElement,xOffSet,yOffSet).build().perform();
       BASE_LOGGER.info("Successfully performed the Drag and Drop action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing DragAndDrop ");
   }
}

Επισκεφθείτε εδώ για τα υπόλοιπα προηγμένα σύνολα εντολών του Interdate Selenium webdriver.

Προηγμένες εντολές Selenium WebDriver -Απάντηση:

Κάντε διπλό κλικ σε σελήνιο :

Για να επαναλάβουμε τη λειτουργία, δηλαδή διπλό κλικ στο Σελήνιο μέσω ποντικιού, πρέπει να εκτελέσουμε διπλό κλικ μέσω της κατηγορίας Ενέργειες στο Σελήνιο και μπορούμε να το κάνουμε με την παρακάτω προσέγγιση: 

public void doubleClick(By locator) {
   try {
       WebElement element = driver.findElement(locator);
       Actions actions = new Actions(driver);
       actions.doubleClick(element).perform();
       BASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
   } catch (StaleElementReferenceException e) {
       BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
   } catch (NoSuchElementException e) {
       BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
   } catch (Exception e) {
       BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
   }
}

Το παραπάνω απόσπασμα κώδικα είναι μια μέθοδος που βασικά παίρνει ένα όρισμα ως Locator, δηλαδή το WebElement στο οποίο πρέπει να εκτελεστεί το διπλό κλικ.

Κάντε κλικ στο σελήνιο:

Για να επαναλάβουμε τη λειτουργία κλικ περιβάλλοντος ή δεξιού κλικ μέσω ποντικιού, πρέπει να εκτελέσουμε τη μέθοδο κλικ περιβάλλοντος μέσω της κλάσης Ενέργειες στο Σελήνιο και μπορούμε να το κάνουμε με την παρακάτω προσέγγιση: 

public void rightClick(By locator) {
   try {
       WebElement element = driver.findElement(locator);
       Actions actions = new Actions(driver);
       actions.contextClick(element).perform();
       BASE_LOGGER.info("Performed the context Click on the Element  : " + locator);
   } catch (StaleElementReferenceException e) {
       BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
   } catch (NoSuchElementException e) {
       BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
   } catch (Exception e) {
       BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
   }
}

Για τις αναλυτικές εντολές Advance Selenium webdriver επισκεφθείτε εδώ .. Επίσης, για να κατανοήσετε την κατηγορία Actions στο Selenium και τις υλοποιήσεις της επισκεφθείτε εδώ.

Κρίσιμες ερωτήσεις: 

Τι είναι το management () στο Σελήνιο;

Το driver.manage () επιστρέφει μια αναφορά υλοποίησης του WebDriver.Options Interface. Η διεπαφή επιλογών είναι μια διεπαφή για τη διαχείριση και τον χειρισμό ενεργειών σε ένα μενού προγράμματος περιήγησης όπως: 

  • addCookie
  • διαγραφή Cookie
  • getCookies
  • Λειτουργίες παραθύρων

Για εξαντλητικά σύνολα Ερωτήσεις συνέντευξης σεληνίου - Κριτικά και προχωρημένα σύνολα επισκέπτονται εδώ.

Συμπέρασμα:

Σε αυτήν την ενότητα του σεμιναρίου καλύψαμε το Βασικό Πρόγραμμα οδήγησης σεληνίου εντολές, Κάντε κλικ εδώ για να μάθετε το Εντολές Interdate και Advance Selenium webdriver. Για να μάθετε το Σελήνιο από το Scratch κάντε κλικ εδώ.

Σχετικά με την Debarghya

Myself Debarghya Roy, είμαι ένας μηχανικός ARCHITECT που συνεργάζεται με την εταιρεία Fortune 5 και έναν συνεισφέροντα ανοιχτού κώδικα, έχοντας περίπου 12 χρόνια εμπειρίας / εμπειρίας σε διάφορες τεχνολογίες.
Έχω εργαστεί με διάφορες τεχνολογίες, όπως Java, C #, Python, Groovy, UI Automation (Selenium), Mobile Automation (Appium), API / Backend Automation, Performance Engineering (JMeter, Locust), Security Automation (MobSF, OwAsp, Kali Linux) , Astra, ZAP κ.λπ.), RPA, Αυτοματισμός Μηχανικής Διαδικασίας, Αυτοματισμός Mainframe, Ανάπτυξη Back End με SpringBoot, Kafka, Redis, RabitMQ, ELK stack, GrayLog, Jenkins και επίσης έχοντας εμπειρία σε Cloud Technologies, DevOps κ.λπ.
Ζω στο Μπανγκαλόρ της Ινδίας με τη γυναίκα μου και έχω πάθος για το Blogging, τη μουσική, την κιθάρα και η Φιλοσοφία της ζωής μου είναι η Εκπαίδευση για Όλους που γέννησε το LambdaGeeks. Ας συνδεθούμε μέσω συνδέσμου - https://www.linkedin.com/in/debarghya-roy/

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *

Lambda Geeks