Skip to content

Aerogear Services SDK end-to-end test suite for automated and regression testing

License

Notifications You must be signed in to change notification settings

aerogear/aerogear-sdk-e2e-tests

Repository files navigation

Aerogear Services SDK End-to-end test suite

Set of UI tests to check SDKs functionality and possible regressions.

Current state

Currently works only with aerogear-android-sdk.

Requirements

For local runs:

  • properly installed Android SDK with an Android Emulator
  • Appium server

How to run locally

Start your local Appium server and launch the Android emulator. Then execute:

$ ./gradlew test

How to run against different Appium server

$ APPIUM_SERVER='yourserverhostname:4723' ./gradlew test

How to write a new test using page objects?

  1. Create new test class in the org.aerogear.sdkE2ETests.tests extending BaseTest.

  2. Create page objects for the flow of the test case

    • write level 1 page object (like one in AuthenticatedScreen - interface that contains all UI elements that are needed for the test as properties of the interface
    • create level 2 page object for Android (like one in AutenticatedAndroidScreen)) implementing page 1 interface and AndroidScreen class
    • use Appium Desktop to scan for elements used on the each "screen" in the flow and override UI element properties in the level 2 pageobject, fill in how they will be obtained on the screen using delegations like by id(), by accessibilityId(), etc.
    • implement test logic as methods in the page object (platform indepenent in the interface)
    • add level 2 page object into the screens section in init.kt
  3. Write your test (like one in AuthTest) using akow DSL.

More detailed approach for writing tests using the Akow library is in its documentation.

About

Aerogear Services SDK end-to-end test suite for automated and regression testing

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages