Selenium Ενσωμάτωση με το Maven και Jenkins
⚡ Έξυπνη Σύνοψη
Maven Jenkins Selenium Η ενσωμάτωση δημιουργεί έναν αυτοματοποιημένο αγωγό συνεχών δοκιμών όπου το Maven διαχειρίζεται τις εξαρτήσεις και τον κύκλο ζωής του έργου, Jenkins προγραμματίζει και δημιουργεί καμπάνιες, και Selenium Εκτελεί δοκιμές προγραμμάτων περιήγησης, παράγοντας επαναλήψιμο, αξιόπιστο και κλιμακωτό αυτοματισμό ιστού από άκρο σε άκρο.

Τι είναι Jenkins in Selenium?
Jenkins είναι το κορυφαίο εργαλείο συνεχούς ενσωμάτωσης ανοιχτού κώδικα που αναπτύχθηκε αρχικά από το εργαστήριο Hudson. Είναι cross-platform και λειτουργεί σε Windows, Το Linux, macOSκαι Solaris περιβάλλοντος. Jenkins είναι γραμμένο σε Java και τώρα διανέμεται ως Jenkins LTS για σταθερή χρήση στην παραγωγή. Η κύρια χρήση του είναι η παρακολούθηση οποιασδήποτε εργασίας, η οποία μπορεί να είναι μια ολοκλήρωση αγοράς SCM, ένα πρόγραμμα cron ή οποιαδήποτε κατάσταση εφαρμογής. Jenkins Ενεργοποιεί προρυθμισμένες ενέργειες όταν εμφανίζεται ένα συγκεκριμένο βήμα σε εργασίες.
Σημαντικά χαρακτηριστικά του Jenkins
- Υποστήριξη αλλαγής: Jenkins δημιουργεί τη λίστα με όλες τις αλλαγές που έγιναν σε αποθετήρια όπως το Git ή το SVN.
- Μόνιμοι σύνδεσμοι: Jenkins παρέχει άμεσους συνδέσμους προς την πιο πρόσφατη έκδοση ή την τελευταία αποτυχημένη έκδοση, γεγονός που απλοποιεί την επικοινωνία της ομάδας.
- Εγκατάσταση: Jenkins είναι εύκολο στην εγκατάσταση χρησιμοποιώντας ένα εγγενές πρόγραμμα εγκατάστασης, ένα αρχείο WAR που έχει αναπτυχθεί σε έναν διακομιστή εφαρμογών ή μια εικόνα Docker.
- Ενσωμάτωση email: Jenkins μπορεί να ρυθμιστεί ώστε να αποστέλλει μέσω email το περιεχόμενο και την κατάσταση κάθε έκδοσης.
- Εύκολη διαμόρφωση: Ρύθμιση παραμέτρων διαφόρων εργασιών σε Jenkins είναι απλή μέσω του πίνακα ελέγχου ιστού.
- TestNG Δοκιμή: Jenkins μπορεί να ρυθμιστεί ώστε να εκτελεί την αυτοματοποιημένη δοκιμή build σε TestNG μετά από κάθε υποβολή στο αποθετήριο.
- Πολλαπλά VM: Jenkins μπορεί να διανείμει δομές σε πολλαπλές μηχανές πρακτόρων.
- Κατασκευή Έργου: Jenkins καταγράφει τις λεπτομέρειες των JAR, των εκδόσεων JAR και του χάρτηping από αριθμούς κατασκευής σε αντικείμενα.
- plugins: 3rd μπορούν να προστεθούν πρόσθετα για πάρτι Jenkins για την επέκταση των χαρακτηριστικών και των πρόσθετων λειτουργιών.
Γιατί Jenkins και Selenium?
- Τρέξιμο Selenium δοκιμές σε Jenkins σας επιτρέπει να εκτελείτε τις δοκιμές σας κάθε φορά που αλλάζει το λογισμικό και να αναπτύσσετε το λογισμικό σε ένα νέο περιβάλλον όταν οι δοκιμές είναι επιτυχείς.
- Jenkins μπορείτε να προγραμματίσετε το δικό σας Selenium δοκιμές που θα εκτελούνται σε συγκεκριμένη ώρα.
- Μπορείτε να αποθηκεύσετε το ιστορικό εκτέλεσης και τις αναφορές δοκιμών για tracικανότητα.
- Jenkins υποστηρίζει το Maven για την κατασκευή και Δοκιμές ένα έργο σε συνεχή ενοποίηση.
Σε τι βρίσκεται ο Maven Selenium?
Το Maven είναι ένα ισχυρό εργαλείο διαχείρισης έργων και κατασκευών που βασίζεται στην έννοια ενός POM (Project Object Model) που περιλαμβάνει πληροφορίες έργου και δεδομένα διαμόρφωσης για το Maven, όπως τον κατάλογο κατασκευής, τον κατάλογο πηγαίου κώδικα, τις εξαρτήσεις, τον κατάλογο πηγαίου κώδικα δοκιμών, τους στόχους, τα πρόσθετα και άλλα. Το Maven 3.x είναι η τρέχουσα σταθερή γραμμή, που χρησιμοποιείται ευρέως σε... Selenium πλαίσια δοκιμών.
Γιατί Maven και Jenkins
Selenium Το WebDriver είναι εξαιρετικό για αυτοματοποίηση προγραμμάτων περιήγησης. Ωστόσο, όταν το χρησιμοποιείτε για δοκιμές και δημιουργία ενός πλαισίου δοκιμών, μπορεί να σας φαίνεται ανεπαρκές. Ενσωμάτωση του Maven με Selenium παρέχει τα ακόλουθα οφέλη.
Apache Maven παρέχει υποστήριξη για τη διαχείριση του πλήρους κύκλου ζωής ενός δοκιμαστικού έργου.
- Το Maven χρησιμοποιείται για τον ορισμό της δομής του έργου, των εξαρτήσεων, της κατασκευής και της διαχείρισης δοκιμών.
- Χρησιμοποιώντας το pom.xml (Maven) μπορείτε να διαμορφώσετε τις εξαρτήσεις που απαιτούνται για τη δημιουργία, τον έλεγχο και την εκτέλεση κώδικα.
- Το Maven κατεβάζει αυτόματα τα απαραίτητα αρχεία από το κεντρικό αποθετήριο κατά την κατασκευή του έργου.
Πώς να εγκαταστήσετε το Maven και να το χρησιμοποιήσετε με TestNG Selenium
Ακολουθούν τα βήματα για την εγκατάσταση του Maven και τη χρήση του με TestNG Selenium.
Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε Eclipse (Juno) IDE για Java Προγραμματιστές για να ρυθμίσουν το Selenium Έργο WebDriver. Επιπλέον, πρέπει να προσθέσουμε το πρόσθετο m2eclipse στο Eclipse για να διευκολυνθεί η διαδικασία κατασκευής και να δημιουργηθεί το αρχείο pom.xml.
Ας προσθέσουμε το πρόσθετο m2eclipse στο Eclipse με τα ακόλουθα βήματα:
Βήμα 1) In Eclipse IDE, επιλέξτε Βοήθεια | Εγκαταστήστε νέο λογισμικό από το Eclipse κυρίως μενού.
Βήμα 2) Στο παράθυρο διαλόγου Εγκατάσταση, εισαγάγετε το URL https://www.eclipse.org/m2e/. Επιλέγω Δουλεύω με και το πρόσθετο m2e όπως φαίνεται στο ακόλουθο στιγμιότυπο οθόνης:
Βήμα 3) Κάντε κλικ στο Επόμενο κουμπί και ολοκληρώστε την εγκατάσταση.
Διαμορφώστε Eclipse με τον Maven
Με εγκατεστημένο το πρόσθετο m2e, πρέπει τώρα να δημιουργήσουμε ένα έργο Maven.
Βήμα 1) In Eclipse IDE, δημιουργήστε ένα νέο έργο επιλέγοντας Αρχεία | Νέα | Άλλα από το Eclipse μενού.
Βήμα 2) Στις Νέα διαλόγου, επιλέξτε Maven | Maven Project και κάντε κλικ στο κουμπί Επόμενο.
Βήμα 3) Στις New Maven Project επιλογή διαλόγου Δημιουργήστε ένα απλό έργο και κάντε κλικ στο κουμπί Επόμενο.
Βήμα 4) Εισαγάγετε το WebdriverTest Αναγνωριστικό ομάδας: και Αναγνωριστικό τεχνουργήματος: και κάντε κλικ στο κουμπί "Τέλος".
Βήμα 5) Eclipse θα δημιουργήσει WebdriverTest με την εξής δομή:
Βήμα 6) Κάντε δεξί κλικ στο Βιβλιοθήκη συστήματος JRE Και επιλέξτε το Ιδιοκτησίες από το μενού.
Στις Ιδιότητες για τη βιβλιοθήκη συστήματος JRE παράθυρο διαλόγου, βεβαιωθείτε Προεπιλεγμένο JRE χώρου εργασίας είναι επιλεγμένο και κάντε κλικ στο OK.
Βήμα 7) Αγορά pom.xml από Εξερεύνηση έργου.
Το αρχείο pom.xml θα ανοίξει στην ενότητα Επεξεργαστής.
Βήμα 8) Προσθέστε το Selenium, Maven, TestNGκαι JUnit εξαρτήσεις σε pom.xml στο κόμβος:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.45.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
</dependencies>
Βήμα 9) Δημιούργησε ένα νέο TestNG Κλάση. Εισαγάγετε το όνομα του πακέτου ως "example" και "NewTest" στο Όνομα: πλαίσιο κειμένου και κάντε κλικ στο φινίρισμα κουμπί όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 10) Eclipse θα δημιουργήσει την κλάση NewTest όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 11) Προσθέστε τον ακόλουθο κώδικα στο NewTest τάξη. Αυτός ο κώδικας θα επαληθεύσει τον τίτλο του Guru99 Selenium .
package example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class NewTest {
private WebDriver driver;
@Test
public void testEasy() {
driver.get("https://demo.guru99.com/test/guru99home/");
String title = driver.getTitle();
Assert.assertTrue(title.contains("Demo Guru99 Page"));
}
@BeforeTest
public void beforeTest() {
driver = new FirefoxDriver();
}
@AfterTest
public void afterTest() {
driver.quit();
}
}
Βήμα 12) Κάντε δεξί κλικ στο έργο WebdriverTest και επιλέξτε TestNG | Μετατροπή σε TestNG.
Eclipse θα δημιουργήσει το testng.xml το οποίο δηλώνει ότι πρέπει να εκτελέσετε μόνο ένα τεστ με το όνομα NewTest όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Ενημερώστε το έργο και βεβαιωθείτε ότι το αρχείο εμφανίζεται στο δέντρο Εξερεύνηση πακέτων (δεξί κλικ στο έργο – Ανανέωση).
Βήμα 13) Τώρα πρέπει να εκτελέσετε τη δοκιμή μέσω αυτού testng.xml.
Λοιπόν, πηγαίνετε στο Εκτέλεση ρυθμίσεων και δημιουργήστε μια νέα κυκλοφορία TestNG, επιλέξτε το έργο, ορίστε το πεδίο Σουίτα as testng.xmlκαι κάντε κλικ στην επιλογή Εκτέλεση.
Βεβαιωθείτε ότι η κατασκευή ολοκληρώθηκε με επιτυχία.
Βήμα 14) Επιπλέον, πρέπει να προσθέσουμε
- maven-compiler-plugin
- προσθήκη maven-surefire-
- testng.xml
στο pom.xml.
Το maven-surefire-plugin χρησιμοποιείται για τη διαμόρφωση και την εκτέλεση δοκιμών. Εδώ, το plugin χρησιμοποιείται για τη διαμόρφωση του testing.xml για το TestNG δοκιμή και δημιουργία εκθέσεων δοκιμών.
Το maven-compiler-plugin χρησιμοποιείται για να βοηθήσει στη μεταγλώττιση του κώδικα και για τη χρήση μιας συγκεκριμένης έκδοσης JDK για μεταγλώττιση. Προσθέστε όλες τις εξαρτήσεις στο ακόλουθο απόσπασμα κώδικα στο pom.xml στο κόμβος:
Βήμα 15) Για να εκτελέσετε τις δοκιμές στον κύκλο ζωής του Maven, κάντε δεξί κλικ στο έργο WebdriverTest και επιλέξτε Εκτέλεση ως | Δοκιμή MavenΤο Maven θα εκτελέσει τη δοκιμή από το έργο.
Βεβαιωθείτε ότι η κατασκευή ολοκληρώθηκε με επιτυχία.
Πώς να ενσωματώσετε Jenkins μαζί σου, Selenium Πρόγραμμα οδήγησης Web
Εδώ είναι τα βήματα για την εγκατάσταση Jenkins LTS και ρυθμίστε το ώστε να εκτελεί το Maven με TestNG Selenium.
Εγκατάσταση
Βήμα 1) Πηγαίνετε στο https://www.jenkins.io/download/ και κατεβάστε το σωστό Jenkins Πακέτο LTS για το λειτουργικό σας σύστημα. Εγκατάσταση Jenkins.
Βήμα 2) Ανοίγω φερμουάρ Jenkins σε έναν καθορισμένο φάκελο. Εκτελέστε το αρχείο exe όπως φαίνεται στο ακόλουθο στιγμιότυπο οθόνης:
Βήμα 3) Στο Jenkins Ρύθμιση κάντε κλικ στο Επόμενο κουμπί.
Βήμα 4) Κάντε κλικ στο εγκαταστήστε κουμπί στο τέλος.
Βήμα 5) Μόλις ολοκληρωθεί η εγκατάσταση, μεταβείτε στο Jenkins Πίνακας ελέγχου (http://localhost:8080 από προεπιλογή) στο παράθυρο του προγράμματος περιήγησης.
Βήμα 6) Κάντε κλικ στο Νέο στοιχείο σύνδεσμος για τη δημιουργία μιας θέσης εργασίας CI.
Βήμα 7) Επιλέξτε το κουμπί επιλογής Maven project όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Χρησιμοποιώντας το Build a Maven Project επιλογή, Jenkins υποστηρίζει την κατασκευή και τον έλεγχο έργων Maven.
Βήμα 8) Κάντε κλικ στο κουμπί OK. Δημιουργείται μια νέα εργασία με το όνομα "WebdriverTest" στο Jenkins Ταμπλό.
Βήμα 9) Πηγαίνετε στο Διαχειριστείτε Jenkins => Διαμόρφωση συστήματος όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Κάντε κλικ στις εγκαταστάσεις JDK και διαμορφώστε το JDK όπως στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 10) Πηγαίνετε στο Χτίστε τμήμα της νέας εργασίας.
- Στο Root POM στο πλαίσιο κειμένου, εισαγάγετε την πλήρη διαδρομή προς το pom.xml
- Στην ενότητα Στόχοι και επιλογές, εισαγάγετε "καθαρή δοκιμή"
Βήμα 11) Κάντε κλικ στο Εγγραφές κουμπί.
Βήμα 12) Στη σελίδα του έργου WebdriverTest, κάντε κλικ στο Κατασκευάστε τώρα σύνδεσμο.
Ο Maven θα κατασκευάσει το έργο. Τότε θα έχει TestNG εκτελέσει τις δοκιμαστικές περιπτώσεις.
Βήμα 13) Μόλις ολοκληρωθεί η διαδικασία κατασκευής, στο Jenkins Κάντε κλικ στον πίνακα ελέγχου WebdriverTest του έργου.
Βήμα 14) Η σελίδα του έργου WebdriverTest εμφανίζει το ιστορικό κατασκευής και συνδέσμους προς τα αποτελέσματα όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 15) Κάντε κλικ στο σύνδεσμο «Τελευταίο αποτέλεσμα δοκιμής» για να δείτε τα αποτελέσματα των δοκιμών όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Βήμα 16) Επιλέξτε μια συγκεκριμένη έκδοση και θα δείτε την τρέχουσα κατάσταση κάνοντας κλικ στο "έξοδος κονσόλας".
Χρονοδρομολόγηση Jenkins για αυτόματη εκτέλεση
Προγραμματισμός δομών (Selenium δοκιμές) είναι ένα από τα σημαντικά χαρακτηριστικά του Jenkins, όπου ενεργοποιεί αυτόματα τη δημιουργία με βάση καθορισμένα κριτήρια. Jenkins παρέχει πολλαπλούς τρόπους για την ενεργοποίηση της διαδικασίας δημιουργίας στη διαμόρφωση Build Trigger.
Για παράδειγμα:
Εισαγάγετε 0 23 * * * στο πλαίσιο κειμένου Χρονοδιάγραμμα όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Αυτό θα ενεργοποιεί τη διαδικασία κατασκευής κάθε μέρα στις 11 μ.μ
Χρησιμοποιώντας Jenkins χωρίς τον Maven
Για να εκτελέσετε ένα καθαρό TestNG σενάριο σε Jenkins, εισαγάγετε τα ακόλουθα στην έκδοση build:
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml
- Κάντε κλικ στο κουμπί Αποθήκευση.
- Σημείωση: Η πραγματική διαδρομή των φακέλων lib και bin πρέπει να προστεθεί στην παραπάνω εντολή.
- Αφού αποθηκεύσετε την εντολή, Jenkins θα κατασκευάσει το έργο στον προκαθορισμένο χρόνο και αυτή η εντολή θα εκτελεστεί χρησιμοποιώντας TestNG.
- Το αποτέλεσμα θα αποθηκευτεί σε ένα προσαρμοσμένο αρχείο αναφοράς HTML που μπορεί να αποσταλεί μέσω email χρησιμοποιώντας ένα Jenkins διαμόρφωση.
- Η έξοδος του κώδικα θα είναι:
Οφέλη από τη χρήση Jenkins
- Πρώιμη εύρεση προβλημάτων – τα σφάλματα μπορούν να εντοπιστούν στην αρχική φάση της ανάπτυξης λογισμικού.
- Αυτόματη ενσωμάτωση – δεν απαιτείται ξεχωριστή προσπάθεια για την ενσωμάτωση όλων των αλλαγών.
- Εγκαταστάτης – ένα σύστημα που μπορεί να αναπτυχθεί και είναι διαθέσιμο σε οποιοδήποτε στάδιο ανάπτυξης.
- Αρχεία – διατηρούνται αρχεία προηγούμενων κατασκευών.
- Υποστήριξη και πρόσθετα – ένας από τους λόγους για JenkinsΗ δημοτικότητα του οφείλεται στη διαθεσιμότητα μεγάλης υποστήριξης από την κοινότητα. Διατίθενται επίσης πολλά έτοιμα πρόσθετα (plugins) που σας βοηθούν να επεκτείνετε τη λειτουργικότητά του.




































