Automation for iOS, Android, & Web Apps with one codebase. Like it, Star it & spread the word !!!
OneFramework
If you've application in android, ios & web platforms and want to automate with single code base? This framework is for you.
This is a generic Page Object Model which solves all your automation needs with single codebase.
We often tend to create different test frameworks for different platforms and it's very difficult for anyone to serve all platform needs in one test automation framework.
OneFramework solves all your needs. You just give the locator and leave the rest to OneFramework.
JAVA 1.8
- Install Java and set the JAVA_HOME path on your machine.Node & NPM
- Download & install node from https://nodejs.org/en/download/
.Gradle
- Install Gradle.Android
- Install Android Studio & set ANDROID_HOME path.iOS
- Install XCode on your machine & download required iPhone/iPad simulators.Allure Report
- Install Allure Report library on your machine. Please follow below link to install it on MAC.Note: If you want to run only on WEB, you don't need anything except JAVA.
Mentioned installations Node, Android & iOS are for mobile app automation & Rest like Gradle & Allure are for framework level
Install Appium
$ sudo npm install -g [email protected] --unsafe-perm=true --allow-root
Appium Doctor
- which is used to see if the appium setup is correctly done or not. Run it and fix the issues as per that. $ sudo npm install -g appium-doctor --unsafe-perm=true --allow-root
$ appium-doctor
This framework is built in Page Object Model style using TestNG framework.
We have "testng.xml" file which has tests for each and every platform in cross browser/device testing fashion.
https://github.com/srinu-kodi/OneFramework.git
$ gradle clean build
$ java -jar build/libs/Automation-1.0-SNAPSHOT.jar capture
$ java -jar build/libs/Automation-1.0-SNAPSHOT.jar compare
Note:
capture & compare are the image capture and compare modes.
Once test execution is complete, allure-results directory gets generated. I assume you have already installed allure on your machine. If not, install it. If yes, run below command to see the report.
$ allure serve <allure-results path>
Once image comparison is complete, all the images w.r.t platforms are published into local baselineImages directory at root level. Now go to specific directory and get the image comparison resulted images.
difference image is created only when there is a difference in actual vs expected images. Below is the sample output.
Moreover I will incorporate if anything pops up in mind, going forward.