testproject python sdk tutorial
TestProject Python SDK-zelfstudie: geef uw bestaande op selenium en appium gebaseerde tests een boostDeze zelfstudie helpt u aan de slag met TestProject Python SDK. Leer hoe u de krachtigste functies van SDK kunt installeren, configureren en gebruiken:
Selenium en Appium behoren al jaren tot de meest populaire open-source testframeworks voor desktopbrowsers en mobiel testen.
De TestProject Python SDK bouwt voort op deze tools en ze bieden u de kracht van het TestProject-platform, waardoor u prachtige HTML- en PDF-rapporten krijgt over hun rapportageplatforms, automatische browserdetectie, driverconfiguratie en nog veel meer.
En het beste is dat het gebruik van het TestProject-platform en de SDK voor altijd volledig gratis is. De SDK is ook een open-source, dus als je wilt bijdragen aan het project, kan dat!
Wat je leert:
Wat is TestProject Python SDK?
In deze zelfstudie leert u hoe u aan de slag kunt met de TestProject Python SDK, hoe u het TestProject-platform kunt gebruiken met uw bestaande op Selenium en Appium gebaseerde tests en hoe u enkele van de krachtigste functies van de SDK kunt gebruiken.
Notitie : Zijn uw tests geschreven in een andere taal dan Python? U hoeft zich geen zorgen te maken, TestProject biedt ook SDK's voor Java en C #, en er zullen in de nabije toekomst meer talen komen.
Installatie en configuratie
Bezoek deze pagina voor gratis aanmelding bij TestProjectPython SDK is beschikbaar op PyPI , de Python-pakketindex. Hier gaan we ervan uit dat je een werkende Python-installatie hebt, het enige wat je hoeft te doen is de SDK te installeren en daarvoor moet je voer het volgende commando uit:
Hiermee worden de SDK en de vereiste afhankelijkheden geïnstalleerd, inclusief Selenium en de Python Appium-client.
Voordat we de SDK kunnen gaan gebruiken, moeten we nog twee dingen doen.
# 1) Installeer en configureer de TestProject Agent op uw computer:
De TestProject-agent is verantwoordelijk voor de installatie en configuratie van het browserstuurprogramma, en voor het verzenden van door de SDK gegenereerde rapporten naar het TestProject-platform.
Nadat u een account heeft aangemaakt op het TestProject platform (nogmaals, dit is gratis), kunt u uw Agent downloaden.
Na het downloaden moet u het installeren en starten. Standaard draait de Agent door http: // localhost: 8585. Als u de Agent op een andere poort of zelfs op een geheel andere machine wilt gebruiken, is dat geen probleem. In dit geval hoeft u alleen het juiste Agent-adres op te geven in een omgevingsvariabele TP_AGENT_URL om de SDK te laten weten waar deze wordt uitgevoerd.
# 2) Verkrijg en configureer een ontwikkelaarstoken:
Om met de agent te communiceren, hebt u ook een ontwikkelaarstoken nodig. Nadat u de Agent heeft geïnstalleerd, kunt u uw ontwikkelingstoken ophalen van de TestProject-platformsite, zoals weergegeven in de onderstaande afbeelding.
Specificeer uw ontwikkelaarstoken in een omgevingsvariabele TP_DEV_TOKEN om de SDK hiervan op de hoogte te stellen. Als alternatief kunt u het als een argument specificeren wanneer u een nieuwe stuurprogramma-sessie maakt, zoals we dit later zullen zien.
Nadat u de SDK heeft gedownload, de Agent heeft geïnstalleerd, geconfigureerd en gestart en uw ontwikkelaarstoken heeft verkregen en geconfigureerd, bent u klaar om te beginnen.
Onze eerste test maken Projectgestuurde seleniumtest
Laten we aannemen dat we een op selenium gebaseerde test hebben die naar de TestProject-demo-webapp navigeert. Het biedt inloggegevens en controleert of we worden begroet om aan te geven dat de inlogactie met succes is voltooid. Laten we ook aannemen dat we het Pytest unit testing framework gebruiken om deze test uit te voeren en de beweringen uit te voeren.
Zo'n test kan er ongeveer zo uitzien:
In het bovenstaande voorbeeld wordt Chrome als browser gebruikt. Naast Chrome ondersteunt de SDK ook de volgende desktopbrowsers:
- Firefox
- Rand
- Internet Explorer
- Safari
Voor dit voorbeeld hebben we geen van de abstractiepatronen gebruikt die veel voorkomen in op selenium gebaseerde tests, zoals pagina-objecten, maar als je deze wel gebruikt, is dat helemaal geen probleem. We raden het zelfs aan, omdat hierdoor een duidelijke scheiding ontstaat tussen uw testflow (acties, testgegevens) en de implementatiedetails van uw webpagina's (elementlocators).
Nadat alle hierboven getoonde installatie- en configuratiestappen zijn voltooid, hoeft u alleen maar de importverklaring te vervangen zoals hieronder wordt uitgelegd om van deze test een door TestProject aangestuurde test te maken.
Herstel met deze:
Dat is het! Nadat u de test nu hebt uitgevoerd, vraagt de SDK een driverinstantie aan bij de TestProject Agent en gebruikt deze om de test uit te voeren. Het stuurt ook rapportage-instructies naar het TestProject-platform, die vervolgens worden gebruikt om HTML-rapporten te maken. Laten we die eens bekijken!
Rapporten op het TestProject-platform inspecteren
Als je naar het TestProject gaat en de ‘Rapporten’ opties uit het menu selecteert, kun je zien dat er een nieuw rapport is gemaakt voor de test die we zojuist hebben uitgevoerd. Raadpleeg de onderstaande afbeelding.
wat kan statische analyse niet vinden
Zoals u kunt zien, heeft de SDK automatisch een projectnaam afgeleid ( software_testing_help ), een jobnaam ( voorbeelden ), en een testnaam ( test_login_to_testproject_example_app ) en deze gebruikt bij het maken van het rapport. Dit wordt ondersteund voor zowel Pytest als Unittest, evenals voor tests die niet worden uitgevoerd met een speciaal testraamwerk voor eenheden.
We zullen zien hoe u de aangepaste project-, taak- en testnamen kunt specificeren, evenals een aantal andere nuttige rapportage-opties in de volgende sectie.
Alle chauffeurscommando's die tijdens de test zijn uitgevoerd, worden automatisch aan het rapport toegevoegd, samen met hun resultaat. TestProject genereert ook out of the box overzichten en dashboards.
Aanpassingsopties rapporteren met TestProject
Hoewel TestProject direct uitgebreide en bruikbare rapporten genereert, zijn er een aantal manieren waarop u ze kunt aanpassen om nog beter aan uw informatievereisten te voldoen.
Zoals we in het vorige voorbeeld hebben gezien, is TestProject in staat om automatisch project-, taak- en testnamen af te leiden voor de meest populaire frameworks voor het testen van Python-eenheden. Als u echter aangepaste namen in uw rapporten wilt gebruiken, kan dat ook op twee verschillende manieren worden gedaan.
# 1) Een decorateur gebruiken
De TestProject SDK heeft ook een @verslag doen van decorateur die u kunt gebruiken om uw testmethoden te versieren en die u kunt gebruiken om specificeer de aangepaste project-, taak- en testnamen zoals hieronder weergegeven:
Wanneer we deze versierde testmethode uitvoeren en de rapporten inspecteren, kunnen we zien dat de opgegeven namen zijn gebruikt in het gegenereerde rapport, in plaats van de automatisch afgeleide namen.
# 2) Project- en taaknamen specificeren in de driverconstructor en handmatig een test rapporteren:
Project- en taaknamen kunnen ook worden overschreven door ze op te geven in de constructor van het driverobject. Dit kan als volgt worden gedaan:
Als u de automatisch afgeleide testnaam wilt negeren, kunt u een test handmatig aan het einde van de test rapporteren, als volgt:
Als u ervoor kiest om de optie voor handmatige rapportage te gebruiken, moet u automatische rapportage van tests uitschakelen (die standaard is ingeschakeld) om ervoor te zorgen dat tests niet twee keer worden gerapporteerd, wat uw rapport en dashboards zou beschadigen.
U kunt automatische rapportage uitschakelen met de volgende opdracht:
Hierdoor ziet het rapport er precies hetzelfde uit als het laatste screenshot hierboven.
# 3) Rapportage van chauffeurscommando's uitschakelen
Als u niet wilt dat uw rapport alle individuele bestuurdersopdrachten bevat die tijdens de test zijn uitgevoerd, kunt u de automatische rapportage ervan als volgt uitschakelen:
U kunt rapportage van stuurprogrammaopdrachten later in uw tests ook opnieuw inschakelen door dezelfde methode opnieuw aan te roepen, maar met het argument uitgeschakeld = False.
Mocht je tijdens je toets toch enkele tussenstappen willen melden, dan kan dat ook:
Zoals u kunt zien, kunt u zelfs schermafbeeldingen toevoegen aan uw aangepaste rapportstappen. Deze worden automatisch in het HTML-rapport op het TestProject-platform geïntegreerd.
De TestProject SDK biedt meer opties om uw rapportage verder aan te passen. Zie de officiële documentatie op de TestProject-website, GitHub of PyPI voor een compleet overzicht.
Appium-gebaseerde tests uitvoeren met TestProject
Naast op selenium gebaseerde tests, kan de TestProject SDK ook tests uitvoeren op mobiele apparaten met Appium. Beschouw dit voorbeeld, uitgevoerd tegen een native Android-app op een emulator:
Om hier nogmaals de kracht van het TestProject-platform te gebruiken we hoeven alleen maar te veranderen
Naar:
En we zijn klaar om te gaan. De TestProject Agent fungeert ook als de Appium-server, dus u hoeft deze niet meer zelf uit te voeren op de computer waarop uw tests worden uitgevoerd.
Alle hierboven beschreven rapportagefuncties zijn ook beschikbaar voor Appium-gebaseerde tests.
SDK ondersteunt het uitvoeren van mobiele tests:
- Zowel voor Android als iOS.
- Zowel op emulators als op echte apparaten.
- Zowel op native apps als op mobiele browsers
Voorbeelden van al deze zijn te vinden in de SDK-coderepository op GitHub.
Gevolgtrekking
Zoals je in deze tutorial hebt gezien, kan de TestProject Python SDK je helpen je bestaande op Selenium en Appium gebaseerde tests een boost te geven door het configureren van je browser-stuurprogramma's en Appium-server weg te nemen, en het genereert geweldige HTML-rapporten en dashboard voor je op het TestProject-platform.
Het beste van alles is dat de TestProject Python SDK absoluut gratis is.
=> Ga verder naar TestProject om het zelf uit te proberen
Over de auteur: Bas Dijkstra
De auteur leert bedrijven over de hele wereld hoe ze hun testinspanningen kunnen verbeteren door middel van testautomatisering. Hij is een zelfstandig trainer, adviseur en ontwikkelaar woonachtig in Nederland. In zijn vrije tijd neemt hij graag de fiets mee, gaat hij hardlopen of leest hij een goed boek.
Aanbevolen literatuur
- TestProject Test Automation Tool Hands-on Review Tutorial
- Python introductie en installatieproces
- Maak Appium-tests voor een Android-app
- Python-zelfstudie voor beginners (hands-on GRATIS Python-training)
- Uw Appium-tests parallel uitvoeren met Appium Studio voor Eclipse
- Epochs-tests maken met epochs Studio for Eclipse
- Hoe u Appium-tests op grote schaal parallel uitvoert
- Integreer in uw IDE om uw Appium-tests uit te voeren