All Projects → srinu-kodi → OneFramework

srinu-kodi / OneFramework

Licence: other
Automation for iOS, Android, & Web Apps with one codebase. Like it, Star it & spread the word !!!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to OneFramework

AppiumGrid
A framework for running appium tests in parallel across devices and also on desktop browser... U like it STAR it !!
Stars: ✭ 17 (-63.04%)
Mutual labels:  selenium-webdriver, appium, testng, pageobject-pattern, appium-android
SHAFT ENGINE
SHAFT is an MIT licensed test automation engine. Powered by best-in-class frameworks like Selenium WebDriver, Appium & RestAssured it provides a wizard-like syntax to increase productivity, and built-in wrappers to eliminate boilerplate code and to ensure your tests are extra stable and your results are extra reliable.
Stars: ✭ 170 (+269.57%)
Mutual labels:  selenium-webdriver, appium, test-automation-framework
appium-dashboard-plugin
Appium plugin that provides complete test logs, video recording of test and device logs(logcat and syslogs) for easy debugging.
Stars: ✭ 82 (+78.26%)
Mutual labels:  appium, appium-ios, appium-android
carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+1317.39%)
Mutual labels:  appium, testng, test-automation-framework
Appium
This is Chirag... and this Repo for Appium code...... You can see Appium tutorial video at given you tube channel
Stars: ✭ 23 (-50%)
Mutual labels:  appium, appium-ios, appium-android
python-appium-framework
Complete Python Appium framework in 360 degree
Stars: ✭ 43 (-6.52%)
Mutual labels:  selenium-webdriver, appium, allure-report
MasterSeleniumFramework
Automation Testing | Web | Java | OOPS | Selenium WebDriver | TestNG | Maven | ExtentReport | Allure Reports | Java mail API | Design Patterns (Page Object Model, Singleton) | Jenkins | Data-Driven Testing using JSON file
Stars: ✭ 52 (+13.04%)
Mutual labels:  allure-report, testng, page-object-model
page-modeller
⚙️ Browser DevTools extension for modelling web pages for automation.
Stars: ✭ 66 (+43.48%)
Mutual labels:  pageobject, selenium-webdriver, pageobjectmodel
Selenium-Foundation
Selenium Foundation is an automation framework designed to extend and enhance the capabilities provided by Selenium (WebDriver).
Stars: ✭ 51 (+10.87%)
Mutual labels:  appium, testng, page-object-model
Java.appium
Mobile test automation using Appium in Java
Stars: ✭ 59 (+28.26%)
Mutual labels:  selenium-webdriver, appium, testng
MasterAppiumFramework
Automation Testing | Mobile | Java | OOPS | Appium | TestNG | Maven | ExtentReport | Java mail API | Logging (Log4J2) | Design Patterns (Page Object Model, Singleton) | Page Factories | Jenkins | Data-Driven Testing using JSON file | Expected Data using XML file
Stars: ✭ 27 (-41.3%)
Mutual labels:  appium, testng, page-object-model
Codeceptjs
Supercharged End 2 End Testing Framework for NodeJS
Stars: ✭ 3,592 (+7708.7%)
Mutual labels:  pageobject, selenium-webdriver
protractor-element-extend
Module, that helps you to extend ElementFinder in your own custom fragments
Stars: ✭ 22 (-52.17%)
Mutual labels:  pageobject, pageobject-pattern
selenium-appium
selenium-webdriver+appium: A bridge to make selenium-webdriver to drive appium to do native app testing
Stars: ✭ 35 (-23.91%)
Mutual labels:  pageobject, selenium-webdriver
Selenium Jupiter
JUnit 5 extension for Selenium WebDriver
Stars: ✭ 185 (+302.17%)
Mutual labels:  selenium-webdriver, appium
bucky-core
System testing framework for web application.
Stars: ✭ 32 (-30.43%)
Mutual labels:  selenium-webdriver, pageobject-pattern
community-edition
Zebrunner is a Test Automation Management Tool
Stars: ✭ 171 (+271.74%)
Mutual labels:  appium-ios, appium-android
SeleniumCucumber
BDD framework for automation using Selenium Cucumber and TestNg
Stars: ✭ 48 (+4.35%)
Mutual labels:  selenium-webdriver, testng
Selenium Java Lean Test Achitecture
Ready to use Lean Test Automation Architecture using Java and Selenium WebDriver to speed up your test automation
Stars: ✭ 152 (+230.43%)
Mutual labels:  selenium-webdriver, testng
python-page-object
📔 Page object design pattern implementation (python, pom, selenium, pytest, travisCI)
Stars: ✭ 41 (-10.87%)
Mutual labels:  selenium-webdriver, page-object-model

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.

Contents:

Features:

  • Easy to automate any type of application
  • Cross platform(mobile & web) support with single codebase
  • Page Object Model
  • TestNG integration
  • Image Comparison
  • Allure Reporting
  • Robust in nature
  • Many configurations

Libraries Used:

  1. Appium
  2. Selenium WebDriver
  3. Java
  4. TestNG
  5. Gradle
  6. WebDriverManager
  7. AShot
  8. Allure Report

Prerequisites Installations:

  1. JAVA 1.8 - Install Java and set the JAVA_HOME path on your machine.
  2. Node & NPM - Download & install node from https://nodejs.org/en/download/.
  3. Gradle - Install Gradle.
  4. Android - Install Android Studio & set ANDROID_HOME path.
    • Downloading the Android SDK
    • Download the Android SDK tools such as
      1. Build tools
      2. Platform tools
      3. Android Emulator
      4. Intel HAXM installer etc.....
      5. Create an emulator device from AVD manager
  5. iOS - Install XCode on your machine & download required iPhone/iPad simulators.
  6. Allure Report - Install Allure Report library on your machine. Please follow below link to install it on MAC.
    Similarly install allure-report installer on your respective machine. https://docs.qameta.io/allure/#_installing_a_commandline

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

Appium Setup:

  • 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

How This Framework Works:

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.

Here are the minimal things you have to do:
  • Create your tests
  • Create your Page Object class w.r.t test that you have written, if not created already (Take the reference from org.oneframework.pageObjects).
    For e.g, SignIn button locators for web, ios & android set as shown below.

- If mobile app, Set the android, ios device details in corresponding files in resources directory as shown below.

- If web app, Set web app URL in BaseTest

How To Run Tests:

  1. Clone the repo.
    https://github.com/srinu-kodi/OneFramework.git
  2. Build the JAR and run it.
$ 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.

How To See Allure Result Report:

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>

Image Comparison Output:

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.

expectedImage actualImage differenceImage

Pending Tasks:

  1. Image masking on certain co-ordinates
  2. Parallel test execution
  3. Integration with CI i.e. Jenkins (or) Travis (or) Circle CI (or) Go
  4. Recording of test execution

Moreover I will incorporate if anything pops up in mind, going forward.

How To Contribute?

  1. Raise a PR, if you already add any new feature or fix any issues in this framework.
  2. Raise an issue, if you face any code related issues(genuine ones) with this framework.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].