testproject python sdk tutorial
Tutorial TestProject Python SDK: Υπερφορτίστε τις υπάρχουσες δοκιμές με βάση το σελήνιο και το AppiumΑυτό το σεμινάριο θα σας βοηθήσει να ξεκινήσετε με το TestProject Python SDK. Μάθετε να εγκαθιστάτε, να διαμορφώνετε και να χρησιμοποιείτε τις πιο ισχυρές δυνατότητες του SDK:
Το Selenium και το Appium είναι από τα πιο δημοφιλή πλαίσια δοκιμών ανοιχτού κώδικα για προγράμματα περιήγησης επιτραπέζιων υπολογιστών και δοκιμές βάσει κινητών για χρόνια.
ο TestProject Python SDK βασίζεται σε αυτά τα εργαλεία και σας παρέχει τη δύναμη της πλατφόρμας TestProject, δίνοντάς σας όμορφες αναφορές HTML και PDF για τις πλατφόρμες αναφοράς τους, την αυτόματη ανίχνευση προγράμματος περιήγησης, τη διαμόρφωση του προγράμματος οδήγησης και πολλά άλλα.
Και το καλύτερο είναι ότι η χρήση της πλατφόρμας TestProject και του SDK είναι εντελώς δωρεάν, για πάντα. Το SDK είναι επίσης ανοιχτού κώδικα, οπότε αν θέλετε να συνεισφέρετε στο έργο, μπορείτε!
Τι θα μάθετε:
Τι είναι το TestProject Python SDK;
Σε αυτό το σεμινάριο, θα δείτε πώς να ξεκινήσετε με το TestProject Python SDK, πώς να αξιοποιήσετε την πλατφόρμα TestProject με τις υπάρχουσες δοκιμές που βασίζονται σε Selenium και Appium, καθώς και πώς να χρησιμοποιήσετε μερικές από τις πιο ισχυρές δυνατότητες του SDK.
Σημείωση : Οι δοκιμές σας είναι γραμμένες σε γλώσσα διαφορετική από την Python; Δεν χρειάζεται να ανησυχείτε, το TestProject προσφέρει SDK για Java και C # επίσης, με περισσότερες γλώσσες να έρχονται στο εγγύς μέλλον.
Εγκατάσταση και διαμόρφωση
=> Επισκεφθείτε αυτήν τη σελίδα για δωρεάν εγγραφή TestProjectΤο Python SDK είναι διαθέσιμο στο PyPI , το ευρετήριο πακέτων Python. Εδώ, υποθέτουμε ότι έχετε μια εγκατάσταση Python που λειτουργεί, το μόνο που χρειάζεται να κάνετε είναι να εγκαταστήσετε το SDK και για αυτό, πρέπει να εκτελέστε την ακόλουθη εντολή:
pip install testproject-python-sdk
Αυτό θα εγκαταστήσει το SDK και τις απαιτούμενες εξαρτήσεις του, συμπεριλαμβανομένου του Selenium και του πελάτη Python Appium.
Προτού αρχίσουμε να χρησιμοποιούμε το SDK, πρέπει να κάνουμε δύο ακόμη πράγματα.
# 1) Εγκαταστήστε και διαμορφώστε το TestProject Agent στον υπολογιστή σας:
Ο πράκτορας TestProject είναι υπεύθυνος για την εγκατάσταση και τη διαμόρφωση του προγράμματος οδήγησης προγράμματος περιήγησης, καθώς και για την αποστολή αναφορών που δημιουργούνται από το SDK στην πλατφόρμα TestProject.
Αφού δημιουργήσετε έναν λογαριασμό στο Έργο δοκιμής πλατφόρμα (και πάλι, αυτό είναι δωρεάν), μπορείτε να πραγματοποιήσετε λήψη του αντιπροσώπου σας.
Μετά τη λήψη, θα πρέπει να το εγκαταστήσετε και να το ξεκινήσετε. Από προεπιλογή, ο πράκτορας εκτελείται http: // localhost: 8585. Αν θέλετε να εκτελέσετε τον Πράκτορα σε διαφορετική θύρα ή ακόμα και σε εντελώς διαφορετικό μηχάνημα, αυτό δεν είναι πρόβλημα. Σε αυτήν την περίπτωση, το μόνο που χρειάζεται να κάνετε είναι να καθορίσετε τη σωστή διεύθυνση παράγοντα σε μια μεταβλητή περιβάλλοντος TP_AGENT_URL για να ενημερώσετε το SDK πού λειτουργεί.
# 2) Λάβετε και διαμορφώστε ένα διακριτικό προγραμματιστή:
Για να επικοινωνήσετε με τον Πράκτορα, θα χρειαστείτε επίσης ένα διακριτικό προγραμματιστή. Μετά την εγκατάσταση του Agent, μπορείτε να λάβετε το διακριτικό ανάπτυξης από τον ιστότοπο της πλατφόρμας TestProject, όπως φαίνεται στην παρακάτω εικόνα.
Καθορίστε το διακριτικό προγραμματιστή σας σε μια μεταβλητή περιβάλλοντος TP_DEV_TOKEN για να το γνωρίζει το SDK. Εναλλακτικά, μπορείτε να το ορίσετε ως επιχείρημα όταν δημιουργείτε μια νέα περίοδο λειτουργίας προγράμματος οδήγησης, καθώς θα το δούμε λίγο.
Αφού κατεβάσετε το SDK, εγκαταστήσετε, διαμορφώσετε και ξεκινήσετε τον Αντιπρόσωπο, λάβετε και διαμορφώσετε το διακριτικό προγραμματιστή σας, είστε έτοιμοι να ξεκινήσετε.
Δημιουργία της πρώτης μας δοκιμής Σελήνιο που υποστηρίζεται από το έργο
Ας υποθέσουμε ότι έχουμε μια δοκιμή με βάση το Σελήνιο που μεταβαίνει στην δοκιμαστική εφαρμογή ιστού TestProject. Παρέχει διαπιστευτήρια σύνδεσης και ελέγχει ότι υποδεχόμαστε για να δείξει ότι η ενέργεια σύνδεσης ολοκληρώθηκε με επιτυχία. Ας υποθέσουμε επίσης ότι χρησιμοποιούμε το πλαίσιο δοκιμών μονάδας Pytest για να εκτελέσουμε αυτήν τη δοκιμή και να εκτελέσουμε τους ισχυρισμούς.
Ένα τέτοιο τεστ μπορεί να μοιάζει με αυτό:
from selenium import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.quit()
Το παραπάνω παράδειγμα χρησιμοποιεί το Chrome ως πρόγραμμα περιήγησης. Εκτός από το Chrome, το SDK υποστηρίζει επίσης τα ακόλουθα προγράμματα περιήγησης επιφάνειας εργασίας:
- Firefox
- Ακρη
- Internet Explorer
- Σαφάρι
Για αυτό το παράδειγμα, δεν έχουμε χρησιμοποιήσει κανένα από τα μοτίβα αφαίρεσης που είναι κοινά σε δοκιμές που βασίζονται σε σελήνιο, όπως αντικείμενα σελίδας, αλλά αν τα χρησιμοποιείτε, αυτό δεν είναι καθόλου πρόβλημα. Στην πραγματικότητα, το συνιστούμε, καθώς αυτό δημιουργεί έναν σαφή διαχωρισμό μεταξύ της ροής δοκιμής (ενέργειες, δεδομένα δοκιμής) και των λεπτομερειών εφαρμογής των ιστοσελίδων σας (εντοπιστές στοιχείων).
Μετά την ολοκλήρωση όλων των βημάτων εγκατάστασης και διαμόρφωσης που εμφανίζονται παραπάνω, το μόνο που χρειάζεται να κάνετε για να μετατρέψετε αυτήν τη δοκιμή σε δοκιμή με δοκιμή TestProject είναι να αντικαταστήσετε τη δήλωση εισαγωγής όπως εξηγείται παρακάτω.
from selenium import webdriver
Χαλαρώστε με αυτό:
from src.testproject.sdk.drivers import webdriver
Αυτό είναι! Μόλις εκτελέσετε τη δοκιμή τώρα, το SDK θα ζητήσει μια παρουσία προγράμματος οδήγησης από τον πράκτορα TestProject και θα το χρησιμοποιήσει για την εκτέλεση της δοκιμής. Θα στείλει επίσης οδηγίες αναφοράς στην πλατφόρμα TestProject, οι οποίες στη συνέχεια χρησιμοποιούνται για τη δημιουργία αναφορών HTML. Ας ρίξουμε μια ματιά σε αυτά!
Επιθεώρηση αναφορών στην πλατφόρμα TestProject
Μεταβαίνοντας στο TestProject και επιλέγοντας τις επιλογές 'Αναφορές' από το μενού, μπορείτε να δείτε ότι έχει δημιουργηθεί μια νέα αναφορά για τη δοκιμή που μόλις εκτελέσαμε. Ανατρέξτε στην παρακάτω εικόνα.
πώς ανοίγετε αρχεία xml
Όπως μπορείτε να δείτε, το SDK συνήγαγε αυτόματα ένα όνομα έργου ( software_testing_help ), ένα όνομα εργασίας ( παραδείγματα ), και ένα όνομα δοκιμής ( test_login_to_testproject_example_app ) και τα χρησιμοποίησα κατά τη δημιουργία της αναφοράς. Αυτό υποστηρίζεται τόσο για το Pytest όσο και για το Unittest, καθώς και για δοκιμές που δεν εκτελούνται χρησιμοποιώντας ένα ειδικό πλαίσιο δοκιμών μονάδας.
Θα δούμε πώς να καθορίσουμε τα προσαρμοσμένα ονόματα έργων, εργασίας και δοκιμών, καθώς και μια σειρά από άλλες χρήσιμες επιλογές αναφοράς στην επόμενη ενότητα.
Όλες οι εντολές προγράμματος οδήγησης που έχουν εκτελεστεί κατά τη διάρκεια της δοκιμής προστίθενται αυτόματα στην αναφορά, μαζί με το αποτέλεσμα. Το TestProject δημιουργεί επίσης επισκοπήσεις και πίνακες εργαλείων εκτός πλαισίου.
Αναφορά επιλογών προσαρμογής με το TestProject
Ενώ το TestProject δημιουργεί πλούσιες και εύχρηστες αναφορές έξω από το κουτί, υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να τις προσαρμόσετε ώστε να ταιριάζουν καλύτερα στις απαιτήσεις πληροφοριών σας.
Όπως έχουμε δει στο προηγούμενο παράδειγμα, το TestProject μπορεί να συμπεράνει αυτόματα τα ονόματα έργων, εργασίας και δοκιμών για τα πιο δημοφιλή πλαίσια δοκιμών μονάδων Python. Αν θέλετε να χρησιμοποιήσετε προσαρμοσμένα ονόματα στις αναφορές σας, ωστόσο, αυτό μπορεί να γίνει και με δύο διαφορετικούς τρόπους.
# 1) Χρήση διακοσμητή
Το TestProject SDK διαθέτει επίσης ένα @κανω ΑΝΑΦΟΡΑ διακοσμητής που μπορείτε να χρησιμοποιήσετε για να διακοσμήσετε τις μεθόδους δοκιμής σας και που μπορείτε να χρησιμοποιήσετε καθορίστε τα προσαρμοσμένα ονόματα έργου, εργασίας και δοκιμής όπως φαίνεται παρακάτω:
from src.testproject.sdk.drivers import webdriver from src.testproject.decorator import report @report(project='Software Testing Help', job='SDK Examples', test='Login Test') def test_login_to_testproject_example_app(): driver = webdriver.Chrome() # the rest of the test method remains unchanged
Όταν εκτελούμε αυτήν τη διακοσμημένη μέθοδο δοκιμής και εξετάζουμε τις αναφορές, μπορούμε να δούμε ότι τα καθορισμένα ονόματα έχουν χρησιμοποιηθεί στην αναφορά που δημιουργήθηκε, αντί για τα αυτόματα συμπεράσματα.
# 2) Καθορισμός ονομάτων έργου και εργασίας στον κατασκευαστή προγραμμάτων οδήγησης και αναφορά χειροκίνητης δοκιμής:
Τα ονόματα έργων και εργασιών μπορούν επίσης να παρακαμφθούν καθορίζοντάς τα στον κατασκευαστή του αντικειμένου προγράμματος οδήγησης. Αυτό μπορεί να γίνει ως εξής:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') # the rest of the test method remains unchanged
Εάν θέλετε να παρακάμψετε το όνομα της δοκιμής που θα συναχθεί αυτόματα, μπορείτε να αναφέρετε μια δοκιμή χειροκίνητα στο τέλος της δοκιμής, ως εξής:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.report().test(name='Login Test', passed=True) driver.quit()
Εάν επιλέξετε να χρησιμοποιήσετε την επιλογή μη αυτόματης αναφοράς, θα πρέπει να απενεργοποιήσετε την αυτόματη αναφορά δοκιμών (η οποία είναι ενεργοποιημένη από προεπιλογή), για να βεβαιωθείτε ότι οι δοκιμές δεν αναφέρονται δύο φορές, κάτι που θα καταστρέψει την αναφορά και τους πίνακες ελέγχου σας.
Μπορείτε να απενεργοποιήσετε την αυτόματη αναφορά χρησιμοποιώντας την ακόλουθη εντολή:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_auto_test_reports(disabled=True) # the rest of the test method remains as above
Αυτό θα κάνει την αναφορά να μοιάζει ακριβώς με το τελευταίο στιγμιότυπο οθόνης παραπάνω.
# 3) Απενεργοποίηση αναφοράς εντολών προγράμματος οδήγησης
Εάν δεν θέλετε η αναφορά σας να περιέχει κάθε μεμονωμένη εντολή προγράμματος οδήγησης που εκτελέστηκε κατά τη διάρκεια της δοκιμής, μπορείτε να απενεργοποιήσετε την αυτόματη αναφορά τους ως εξής:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) # the rest of the test method remains unchanged
Μπορείτε επίσης να ενεργοποιήσετε ξανά την αναφορά εντολών προγράμματος οδήγησης αργότερα στις δοκιμές σας καλώντας ξανά την ίδια μέθοδο, αλλά με το όρισμα απενεργοποιημένο = False.
Εάν εξακολουθείτε να θέλετε να αναφέρετε ορισμένα ενδιάμεσα βήματα κατά τη διάρκεια της δοκιμής σας, μπορείτε να το κάνετε επίσης:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) driver.report().step(description='An intermediate step', message='A custom message', passed=True, screenshot=True) # here goes the rest of the test method
Όπως μπορείτε να δείτε, μπορείτε ακόμη και να προσθέσετε στιγμιότυπα οθόνης στα προσαρμοσμένα βήματα αναφοράς. Αυτά θα ενσωματωθούν αυτόματα στην αναφορά HTML στην πλατφόρμα TestProject.
Το TestProject SDK προσφέρει περισσότερες επιλογές για περαιτέρω προσαρμογή των αναφορών σας. Δείτε την επίσημη τεκμηρίωση στον ιστότοπο TestProject, το GitHub ή το PyPI για μια πλήρη επισκόπηση.
Εκτέλεση δοκιμών με βάση το Appium χρησιμοποιώντας το TestProject
Δίπλα στις δοκιμές που βασίζονται σε σελήνιο, το TestProject SDK μπορεί επίσης να εκτελεί δοκιμές σε κινητές συσκευές χρησιμοποιώντας το Appium. Εξετάστε αυτό το παράδειγμα, τρέχοντας σε μια εγγενή εφαρμογή Android σε έναν εξομοιωτή:
from appium import webdriver def test_native_android_app(): desired_capabilities = { 'appActivity': 'io.testproject.demo.MainActivity', 'appPackage': 'io.testproject.demo', 'udid': '', 'browserName': '', 'platformName': 'Android', } driver = webdriver.Remote(desired_capabilities=desired_capabilities) driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() driver.quit()
Για να χρησιμοποιήσετε ξανά τη δύναμη της πλατφόρμας TestProject εδώ, πρέπει μόνο να αλλάξουμε
from appium import webdriver
Προς την:
from src.testproject.sdk.drivers import webdriver
Και είμαστε καλοί να φύγουμε. Ο πράκτορας TestProject λειτουργεί επίσης ως διακομιστής Appium, οπότε δεν χρειάζεται πλέον να το εκτελείτε μόνοι σας στον υπολογιστή που εκτελεί τις δοκιμές σας.
Όλες οι λειτουργίες αναφοράς που περιγράφονται παραπάνω είναι επίσης διαθέσιμες για δοκιμές που βασίζονται στο Appium.
Το SDK υποστηρίζει την εκτέλεση δοκιμών για κινητά:
- Για Android και iOS.
- Σε εξομοιωτές, καθώς και σε πραγματικές συσκευές.
- Σε εγγενείς εφαρμογές, καθώς και προγράμματα περιήγησης για κινητά
Παραδείγματα όλων αυτών μπορούν να βρεθούν στο αποθετήριο κώδικα SDK στο GitHub.
συμπέρασμα
Όπως έχετε δει σε αυτό το σεμινάριο, το TestProject Python SDK μπορεί να σας βοηθήσει να υπερφορτώσετε τις υπάρχουσες δοκιμές που βασίζονται σε σελήνιο και Appium αφαιρώντας τις δουλειές διαμόρφωσης των προγραμμάτων οδήγησης του προγράμματος περιήγησης και του διακομιστή Appium και δημιουργεί εξαιρετικές αναφορές HTML και πίνακα ελέγχου για την πλατφόρμα TestProject.
Το καλύτερο από όλα, το TestProject Python SDK είναι απολύτως δωρεάν.
=> Προχωρήστε στο TestProject για να το δοκιμάσετε μόνοι σας !
Σχετικά με τον συγγραφέα: Bas Dijkstra
Ο συγγραφέας διδάσκει εταιρείες σε όλο τον κόσμο πώς να βελτιώσουν τις δοκιμαστικές τους προσπάθειες μέσω αυτοματισμού δοκιμών. Είναι ανεξάρτητος εκπαιδευτής, σύμβουλος και προγραμματιστής που ζει στις Κάτω Χώρες. Στον ελεύθερο χρόνο του, του αρέσει να παίρνει το ποδήλατό του για βόλτα, να τρέχει ή να διαβάζει ένα καλό βιβλίο.
Συνιστώμενη ανάγνωση
- Εγχειρίδιο πρακτικής εξέτασης TestProject Test Automation Tool
- Διαδικασία εισαγωγής και εγκατάστασης Python
- Δημιουργήστε δοκιμές Appium για μια εφαρμογή Android
- Εκμάθηση Python για αρχάριους (ΔΩΡΕΑΝ Εκπαίδευση Python)
- Εκτελείτε τις δοκιμές Appium σας παράλληλα χρησιμοποιώντας το Appium Studio για το Eclipse
- Δημιουργία δοκιμών εποχής χρησιμοποιώντας το epochs Studio για το Eclipse
- Πώς να εκτελέσετε εκτενείς εκτελέσεις δοκιμών Appium παράλληλα
- Ενσωματώστε το IDE σας για να εκτελέσετε τις δοκιμές Appium