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
- Move feature file from
tst_*** into its own suite inside features/ dir
- Remove
@skip tag from the smoke test scenarios
- Fix step definition and table if necessary (⚠️ behave has different step param and table parsing)
- Replace necessary element selector. Preference (In order):
BY.NAME
BY.ACCESSIBILITY_ID
BY.XPATH
- Replace Squish API with appium
- Make the test scenario pass
- Make a PR targeting
test/port-to-appium branch
Tasks
Porting squish gui tests into appium with behave.
POC: #857
Docs:
Things to consider:
test/gui/steps@smoketag) and fix themReplace squish API with appium
Appium APIs: https://appium.github.io/appium.io/docs/en/about-appium/api
Selector format:
💡 Guidelines for Porting GUI Tests
tst_***into its own suite insidefeatures/dir@skiptag from the smoke test scenariosBY.NAMEBY.ACCESSIBILITY_IDBY.XPATHtest/port-to-appiumbranchTasks
tst_activitysuite to appium #868