Skip to content

appium/ruby_lib

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

appium_lib

Gem Version

Downloads

Helper methods for writing cross platform (iOS, Android) tests in Ruby using Appium. Note that user waits should not exceed 120 seconds if they're going to run on Sauce Labs.

Recommend to use ruby_lib_core, which works as a Ruby client for Appium. ruby_lib wraps the core library with some additional helpful methods, but some of wrapped methods may have unexpected complexity. Ordinary, ruby_lib worked with class driver, $driver, mainly. We can avoid the class driver with current ruby_lib, but if you'd like to implement your test cases based on instance driver, @driver, you can consider using ruby_lib_core first.

Setup

Requirement

Ruby Lib and Appium

  • Ruby library version over 12.0.0 is based on Selenium v4
  • Ruby library version over 9.8.0 requires Appium over 1.8
  • Ruby library version under 9.7.5 can work with Appium under 1.7

Start appium server

Appium 2

$ npm install -g appium@next
$ appium driver install xcuitest  # proper driver name to install
$ appium server

Note Please set server_url properly like the below since the appium 2 changed the default WebDriver URL to without /wd/hub to follow W3C.

 opts = {
   caps: {
     automationName: 'xcuitest'
     platformName: 'ios',
     app: '/path/to/MyiOS.app'
   },
   appium_lib: {
     server_url: 'http://127.0.0.1:4723'
   }
 }
 appium_driver = Appium::Driver.new(opts)
 appium_driver.start_driver

Or please start the appium server with appium server --base-path=/wd/hub

Appium 1

$ npm install -g appium
$ appium

Install / Upgrade

gem install appium_lib

Sauce Labs env vars

  • SAUCE_USERNAME Sauce username
  • SAUCE_ACCESS_KEY Sauce API key
  • SAUCE_ENDPOINT Alternative Sauce Appium Server endpoint (only use if directed)

(Note: If these variables are set, all tests will use Sauce Labs unless over-ridden in configuration.)

Documentation

Related libraries

  • ruby_lib_core: Bridged commands, WebDriver dependencies
    • We add new endpoints for Appium in the core library, and ruby_lib call the methods.
  • ruby_console: Appium Ruby Console
  • appium_capybara: Gem enabling appium support in capybara

Load Pry

Pry.config.pager = false is set if you have no .pryrc files and Pry is defined.

Run tests in parallel

This repository has examples for running tests in parallel. Read ios_tests to see them.

Contribute

How to add new commands for driver

How to add new helpful methods

  • Add the new methods in this library