You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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="https://localhost:4723/wd/hub"# or a sauce labs urlCapybara.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.newapp,all_optionsendCapybara.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 interfacesCapybara.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::Drivercapy_driver.find_custom:name,'<enter text>'# Calls methods defined in only appium_lib (Appium::Driver)capy_driver.appium_driver.find_element(:name,'TextFields').clickcapy_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