As part of package restructuring, context-related classes have moved to a new package.
Replace:
import com.context.SessionContext;
import com.context.TestExecutionContext;With:
import com.znsio.teswiz.context.SessionContext;
import com.znsio.teswiz.context.TestExecutionContext;Use JDK v17 or higher
./gradlew clean build
This repository implements automated tests for Android & iOS apps, specified using cucumber-jvm and intelligently run them against
- Android
- iOS
- Windows Apps
- Web
- Electron
Applitools (https://applitools.com/) Visual AI, and Applitools Ultrafast Grid (https://applitools.com/product-ultrafast-test-cloud/) is integrated with this framework, to provide Visual AI testing as part of functional automation.
Reports will be uploaded to reportportal.io, that you would need to setup separately, and provide the server details in
src/test/resources/reportportal.properties file or provide the path to the file using this environment
variable: REPORT_PORTAL_FILE
Test can run on local browsers / devices, or against any cloud provider, such as TestMu AI (formerly LambdaTest), HeadSpin, BrowserStack, SauceLabs, pCloudy.
To append a CI-specific suffix to the Applitools batch name, set APPLITOOLS_BATCH_NAME_SUFFIX.
Example for GitHub Actions:
additional-env: "APPLITOOLS_BATCH_NAME_SUFFIX=' - #${{ github.run_number }}'"
- Supported config/capability samples in this repo:
configs/theapp/theapp_lambdatest_web_config.propertiesconfigs/theapp/theapp_lambdatest_android_config.propertiesconfigs/theapp/theapp_lambdatest_ios_config.propertiescaps/theapp/theapp_lambdatest_web_capabilities.jsoncaps/theapp/theapp_lambdatest_android_capabilities.jsoncaps/theapp/theapp_lambdatest_ios_capabilities.json
- Web runs use W3C-safe capabilities, with LambdaTest-specific keys inside
LT:Options. - Mobile runs use LambdaTest-specific keys inside
lt:options. networkandappProfilingare read from capability files (not hardcoded by framework).
- Web runs use
bstack:options/browserstackOptionsmapping for BrowserStack-specific options. - Native app uploads:
- For iOS uploads (
.ipaand.zip), upload command includesios_keychain_support=true. - For non-iOS uploads (for example
.apk), that flag is not added.
- For iOS uploads (
- JDK 17
- cucumber-jvm (https://cucumber.io)
- Appium 2.x (https://appium.io)
- Selenium WebDriver 4.x (https://selenium.dev)
- reportportal.io (https://reportportal.io)
- Applitools (https://applitools.com)
- Build tool: gradle v8
- cucumber-reporting (https://github.com/damianszczepanik/cucumber-reporting)