Skip to content
forked from znsio/teswiz

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

License

Notifications You must be signed in to change notification settings

mukundgpt2025/teswiz

 
 

Repository files navigation

0.0.3 0.0.3 CI CodeQL

To Build

./gradlew clean build

#f03c15 Breaking changes in Latest teswiz v0.0.81#f03c15

Below is the list of the breaking changes, and the corresponding new implementation starting from teswiz latest teswiz.

Cloud Changes

In Config properties files, which are related to cloud execution platforms such as browserStack, HeadSpin, Lamda Tests, Pcloudy etc make the following change: CLOUD_USER config will now be replaced with CLOUD_USERNAME.

Browser Stack and Lambda Test changes

  1. It is Mandatory to pass CLOUD_USERNAME & CLOUD_KEY as Environment variables when running on browser Stack from local
  2. Similarly, All the pipelines using browser Stack will need to be updated, CLOUD_USERNAME & CLOUD_KEY needs to be added

Note: appium-device-farm plugin's version should be >= v8.1.0. minimum requirement is v8.1.0

Please Refer: Browser Stack Local File

Method name and implementation changes

There are some method name and implementation changes as listed below:

Purpose #f03c15 Old #f03c15 #c5f015 New #c5f015
To put App in Background for number of Seconds putAppInBackground(int time) putAppInBackgroundFor(int numberOfSeconds)
Method Selects Device Notification from Notification Drawer selectNotification() selectNotificationFromNotificationDrawer()
Scroll In Dynamic Layer method is using Direction Enum instead of a String Parameter scrollInDynamicLayer(String direction) scrollInDynamicLayer(Direction direction)

New Additions

There is a new method added:

Purpose #c5f015 New #c5f015
A new method is added for swipe by passing the screen height and width in percentage as parameters swipeByPassingPercentageAttributes(int percentScreenHeight, int fromPercentScreenWidth, int toPercentScreenWidth)

Updated Usage Of Appium Driver in Methods

  1. setWebViewContext()
  2. setNativeAppContext()
  3. scroll(Point fromPoint, Point toPoint) , scrollVertically() , scrollDownByScreenSize()
  4. tapOnMiddleOfScreenOnDevice()
  5. swipeLeft() , swipeRight() , swipe(int height, int fromWidth, int toWidth)

References:

  1. For appium2.0 : https://javadoc.io/doc/io.appium/java-client/8.0.0-beta/deprecated-list.html
  2. For selenium 4: https://www.selenium.dev/selenium/docs/api/java/deprecated-list.html

Logging to ReportPortal

To make it easy to log to ReportPortal, the following new methods have been added:

        ReportPortalLogger.logDebugMessage("debugMessage");
        ReportPortalLogger.logInfoMessage("infoMessage");
        ReportPortalLogger.logWarningMessage("warningMessage");
        ReportPortalLogger.attachFileInReportPortal("message", new File("fileName"));

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

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 HeadSpin, BrowserStack, SauceLabs, pCloudy.

Tech stack used

Additional configurations

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.7%
  • Gherkin 3.7%
  • Shell 0.6%