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

grover-ankit11/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.80#f03c15

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

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

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.0%
  • Gherkin 3.7%
  • Shell 0.3%