Git Product home page Git Product logo

appium_capybara's Introduction

appium_capybara Gem Version

Documentation

Gem enabling appium support in capybara

Please use v1.4.1 for Capybara 2.x users. v1.5.0 requires Capybara 3.x.

Driver Setup

Set up the appium_capybara driver by running this before starting your test.

require 'appium_capybara'

desired_caps_ios = {
  platform:        "Mac",
  deviceName:      "iPhone Simulator",
  platformName:    "iOS",
  platformVersion: "12.4",
  app:             "full/path/to/app.zip"
}

url = "http://localhost:4723/wd/hub" # or a sauce labs url

Capybara.register_driver(:appium) do |app|
    appium_lib_options = {
      server_url: url
    }
    all_options = {
      appium_lib: appium_lib_options,
      caps: desired_caps_ios
    }
    Appium::Capybara::Driver.new app, all_options
end

Capybara.default_driver = :appium

Capybara server

appium_capybara driver automatically starts a Rails server in test environment.

By default Capybara starts this web server listening to localhost only and on a random port. It is advised to force Capybara to listen to all interface and listen to a specific port, and set this server address in your mobile application.

Capybara.server_host = '0.0.0.0' # Listen to all interfaces
Capybara.server_port = 56844     # Open port TCP 56844, change at your convenience

Call methods

appium_capybara provides both Capybara methods and appium_lib methods.

capy_driver = Capybara.current_session.driver

# Calls methods defined in Appium::Capybara::Driver and Capybara::Selenium::Driver
capy_driver.find_custom :name, '<enter text>'

# Calls methods defined in only appium_lib (Appium::Driver)
capy_driver.appium_driver.find_element(:name, 'TextFields').click
capy_driver.appium_driver.hide_keyboard

Publishing to rubygems

Make sure to run thor bump or manually modify version.rb before publishing. RubyGems will not allow the same version to be published twice. After the version is bumped, run thor publish

Changelogs

  • v2.0.0
    • Bump base appium_lib version to v12
    • Bump base capybara version to over 3.36
    • Support Ruby 2.6+

appium_capybara's People

Contributors

aha-oretama avatar bootstraponline avatar doctolib-eric avatar kazucocoa avatar maudineormsby avatar mishaaq avatar prashanth-sams avatar randoum avatar rjaros87 avatar sbonebrake avatar vgrigoruk 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.