Skip to content

[QA] GUI automation tests in appium #861

@saw-jan

Description

@saw-jan

Porting squish gui tests into appium with behave.

POC: #857

Docs:

Things to consider:

  • restructure features, steps and helpers
  • move step defs to test/gui/steps
  • convert step defs and data tables into behave format
  • replace squish APIs with appium or custom ones
  • setup hooks and configs
  • identify smoke tests (add @smoke tag) and fix them

Replace squish API with appium

Appium APIs: https://appium.github.io/appium.io/docs/en/about-appium/api
Selector format:

from appium.webdriver.common.appiumby import AppiumBy as By

class LoginWizard:
  SOME_ELEMENT = SimpleNamespace(by=By.NAME, selector="Login")

💡 Guidelines for Porting GUI Tests

  1. Move feature file from tst_*** into its own suite inside features/ dir
  2. Remove @skip tag from the smoke test scenarios
  3. Fix step definition and table if necessary (⚠️ behave has different step param and table parsing)
  4. Replace necessary element selector. Preference (In order):
    • BY.NAME
    • BY.ACCESSIBILITY_ID
    • BY.XPATH
  5. Replace Squish API with appium
  6. Make the test scenario pass
  7. Make a PR targeting test/port-to-appium branch

Tasks

Metadata

Metadata

Labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions