SkillAgentSearch skills...

Teswiz

End-2-End framework for Native & Web Automation using Cucumber-jvm, Appium, Selenium WebDriver, Applitools & ReportPortal

Install / Use

/learn @znsio/Teswiz

README

GitHub stars PRs Welcome GitHub forks

Latest release status:

0.0.86 CI CodeQL

Latest successful build id:

Latest Commit

🚨 Breaking Changes

From Version 1.0.13 onward

As part of package restructuring, context-related classes have moved to a new package.

❗ Required Update in Imports

Replace:

import com.context.SessionContext;
import com.context.TestExecutionContext;

With:

import com.znsio.teswiz.context.SessionContext;
import com.znsio.teswiz.context.TestExecutionContext;

NOTE

Use JDK v17 or higher

To Build

./gradlew clean build

What is this repository about?

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.

CI Batch Name Suffix for Applitools

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 }}'"

Cloud provider notes

TestMu AI (formerly LambdaTest)

  • Supported config/capability samples in this repo:
    • configs/theapp/theapp_lambdatest_web_config.properties
    • configs/theapp/theapp_lambdatest_android_config.properties
    • configs/theapp/theapp_lambdatest_ios_config.properties
    • caps/theapp/theapp_lambdatest_web_capabilities.json
    • caps/theapp/theapp_lambdatest_android_capabilities.json
    • caps/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.
  • network and appProfiling are read from capability files (not hardcoded by framework).
  • Native app uploads:
    • If CLOUD_UPLOAD_APP=true, teswiz uploads the app to LambdaTest and uses the returned lt://... app id automatically.
    • If CLOUD_UPLOAD_APP=false, you must provide APP_PATH=lt://... as an environment variable, system property, or in the config file.
    • Do not use a local file path such as temp/sampleApps/TheApp.ipa when CLOUD_UPLOAD_APP=false.

BrowserStack

  • Web runs use bstack:options / browserstackOptions mapping for BrowserStack-specific options.
  • Native app uploads:
    • For iOS uploads (.ipa and .zip), upload command includes ios_keychain_support=true.
    • For non-iOS uploads (for example .apk), that flag is not added.

Tech stack used

  • JDK 17
  • cucumber-jvm (https://cucumber.io)
  • Appium 2.x (https://appium.io)
    • https://javadoc.io/doc/io.appium/java-client/8.0.0-beta/deprecated-list.html
  • Selenium WebDriver 4.x (https://selenium.dev)
    • https://www.selenium.dev/selenium/docs/api/java/deprecated-list.html
  • reportportal.io (https://reportportal.io)
  • Applitools (https://applitools.com)
  • Build tool: gradle v8
  • cucumber-reporting (https://github.com/damianszczepanik/cucumber-reporting)

Prerequisites

Getting started using teswiz

Configuring the test execution

Running the sample tests

Writing the first test

Setting up the Hard Gate

Additional configurations

Running Visual Tests using Applitools Visual AI

Functional/Feature Coverage

Configuration parameters

Add Auto Logging Using AspectJ

Setting up docker containers

Logging to ReportPortal

BREAKING CHANGES from v0.0.81

Troubleshooting / FAQs

Trouble downloading teswiz from jitpack.io?

Contact Anand Bagmar for help or if you face issues using teswiz

Related Skills

View on GitHub
GitHub Stars99
CategoryDevelopment
Updated23d ago
Forks62

Languages

Java

Security Score

100/100

Audited on Mar 18, 2026

No findings