Coder Social home page Coder Social logo

geb-mobile's Introduction

Geb Mobile Extension for Appium, Selendroid and IosDriver


Under Development

  • This project is still under development and is used in our automation. So all functions are implemented

Goal

  • Write mobile selenium based tests with all the features of Geb/Spock
  • Reuse Test for Mobile and normal Web
  • Support Geb for Android over Appium and Selendroid
  • Support Geb for Ios over Appium and Iosdriver
  • Support Geb for MobileSafari over Appium

Actual working

  • Android over Appium and Selendroid
  • native iOS apps with Appium
  • Safari on iOS-Emulator
  • Safari on Real Device
  • Mobile Safari over Appium works with Saucelabs

Motivation

  • Geb is cool See here
  • Spock is awesome See here
  • Geb/Spock both together is super cool and awesome See here
  • Mobile Test Automation sucks, cause of so many frameworks
  • Write BDT Style See here

Used Stuff

  • Android Debug Bridge
  • Xcode stuff
  • Geb/Spock v0.9.3
  • Groovy v2.3.4
  • Gradle v1.9
  • Appium >= v1.2.1
  • Appium Java Client v1.6.2
  • Selendroid v0.11
  • IosDriver v0.6+

Preconditions

  1. install adb for android
  2. install xcode for ios
  3. for appium you need the nodejs appium installed
  4. Appium on Mac is tricky, see notes at the end

Get Started

  1. Plugin a mobile device or start a virtual device
  2. check with 'adb devices', that your device or emulator is registered
  3. start with './gradlew -i runSeleniumTests' if you have an android devices with API-Level < 17
  4. for API-Level > 17 you can also try './gradlew -i runAppiumTests'
  5. The selendroid or appium server starts for you , if everything works as designed

TODO

  • Test the iosdriver on mac with the UIMountain or UICatalog app
  • Merge the NavigatorFactories, a lot common stuff
  • Improve performance, when checking the attributes or property of a WebElement
  • Refactoring
  • more Refactoring
  • Write more tests
  • Find a public jenkins / repository

IOS - Appium - Real Device TODO's:

  • on version 1.2.2 the deviceconsole is not compiled ...
  • cd /usr/local/lib/node_modules/appium/build/deviceconsole/
  • make
  • clone SafariLauncher from github, build it with your dev licence and put it into .../node_module/appium/build/SafariLauncher/
  • brew install ios-webkit-debug-proxy
  • run: ios_webkit_debug_proxy -c :27753

geb-mobile's People

Contributors

mgalos999 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.