Zelfstudie Calabash-testtool voor Android
Wat is kalebas?
Calabash is een open-source acceptatie Testen raamwerk waarmee u tests voor iOS en iOS kunt schrijven en uitvoeren Android Apps.
Het is een geautomatiseerd gebruikersinterfaceframework waarmee tests in Ruby kunnen worden geschreven met behulp van Cucumber.
Calabash werkt door automatische UI-interacties binnen een mobiele applicatie mogelijk te maken, zoals het indrukken van knoppen, het invoeren van tekst, het valideren van antwoorden, enz. Het kan worden geconfigureerd om op verschillende Android en iOS-apparaten, die realtime feedback en validaties bieden.
Waarom Calabash-automatisering?
| Voordelen | Nadelen |
|---|---|
| Het helpt de doorvoer/productiviteit te verhogen. | Vaardigheid is vereist om de automatiseringstestscripts te schrijven. |
| Verbeterde kwaliteit of verhoogde voorspelbaarheid van kwaliteit | Het debuggen van het testscript is een groot probleem. |
| Verbeterde robuustheid (consistentie) van processen of producten. | Testonderhoud is kostbaar bij afspeelmethoden. |
| Verhoogde consistentie van de output en verlaag de arbeidskosten en uitgaven | Het onderhouden van testgegevensbestanden is lastig als het testscript meer schermen test |
Kalebas en BDD
- Kalebas wel Gedragsgestuurde ontwikkeling (BDD). Het is hetzelfde als Test Driven Development (TDD), maar in plaats van tests te maken om de vorm van API's te beschrijven, wordt applicatiegedrag gespecificeerd.
- BDD is een proces waarbij meerdere belanghebbenden hun steentje bijdragen om een gemeenschappelijk begrip te creëren van wat er gebouwd moet worden.
- BDD helpt bij het bouwen van de juiste software en het ontwerpen vanuit het perspectief van de bedrijfseigenaar.
Hoe Calabash te installeren
Deel I) Install Java JDK – Raadpleeg deze handleiding – /install-java.html
Deel II) Download en installeer Ruby.
Stap 1) Download Ruby van de URL http://rubyinstaller.org/downloads
Stap 2) Open de exe, volg de instructies op het scherm. Zodra de installatie is voltooid, ziet u het volgende scherm. Klik op Voltooien.
Start de opdrachtprompt met Ruby ingeschakeld Windows 10 & typ hieronder Commando.
ruby –v
Deel III) Downloaden en installeren Android
Stap 1) Download Android Studio bij https://developer.android.com/studio
Stap 2) Open de exe, volg de instructies op het scherm en voltooi de installatie. Klik op de knop Voltooien zodra u klaar bent
Deel IV) Installeer kalebas Android
Stap 1) In het consoletype calabash-android installeren. De installatie wordt gestart en het duurt enige tijd voordat deze is voltooid
Stap 2) Zodra de installatie is voltooid, typt u kalebas-android versie
Werken met kalebas
Open de map “calabash-android-0.9.0”. Deze bevindt zich op pad C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0. De mapnamen veranderen synchroon met de ruby/calabash-versie die u op uw machine installeert.
Open de feature skeleton-map. Let op dit basiskader.
- Het *.feature-bestand bevat scenario's die we gaan automatiseren.
- De methode die door het featurebestand wordt gebruikt, is geschreven in het *.rb-bestand in de map “step_definitions”.
- Algemene methoden, omgevingsinstellingen, app-installatie en hooks moeten in de map “support” worden geplaatst.
Neem ontslag en bouw de app
- Calabash-android opnieuw ondertekenen *.apk
- Calabash-Android-build *.apk
Sluit het apparaat aan op het systeem /Open de emulator
Controleer of het apparaat is aangesloten. Typ opdracht
adb devices
Er moet een lijst met aangesloten apparaten worden weergegeven.
Hoe u de elementzoeker kunt vinden
- Open de console. Typ de opdracht.
calabash android console "APK Path" start_test_server_in_background
- Bovenstaande opdracht start de app op het apparaat. Om de elementlocator te vinden, gebruikt u de volgende opdracht.
query "*"
Hierdoor worden alle elementlocators op het huidige scherm weergegeven.
Nieuwe scripts maken
Open het feature-bestand en de volgende regels
Feature: Login feature
Scenario: As a valid user I can log into my app
When I press "Login"
And I enter my username
And I enter my password
Then I see "Welcome to coolest app ever"
Open het stapdefinitiebestand en definieer de methode in een *.rb-bestand.
Given /^I am on the login windows$/ do
wait_for(:timeout =>100) { element_exists("* id:'loginInput;")}
check_element_exists("* id:'loginInput;")
end
Voer het testproject uit
Gebruik de onderstaande opdracht om het testproject uit te voeren
calabash-android run "APK Path" "feature file Path" – tags "tag name"
Samenvatting
- Calabash is een nieuw open-sourceframework dat helpt bij het automatiseren en testen van elk iOS- of Android app.
- Om met Calabash te werken, moet de test in Ruby worden geschreven met behulp van Cucumber.
- Het maakt gebruik van het concept van gedragsgestuurde ontwikkeling (BDD)
- Het automatiseert de code door de taak op te delen in de volgende vier lagen:
- Eerste laag
- Zakelijke laag
- Technologie laag
- Laatste laag
















