Method: Appium::Core::Base::Bridge#create_session

Defined in:
lib/appium_lib_core/common/base/bridge.rb

#create_session(capabilities) ⇒ ::Appium::Core::Base::Capabilities

Override Creates session handling.

Examples:


opts = {
  caps: {
    platformName: :ios,
    automationName: 'XCUITest',
    app: 'test/functional/app/UIKitCatalog-iphonesimulator.zip',
    platformVersion: '11.4',
    deviceName: 'iPhone Simulator',
    useNewWDA: true,
  },
  appium_lib: {
    wait: 30
  }
}
core = ::Appium::Core.for(caps)
driver = core.start_driver

Parameters:

Returns:

Raises:

  • (::Selenium::WebDriver::Error::WebDriverError)


111
112
113
114
115
116
117
118
119
120
121
# File 'lib/appium_lib_core/common/base/bridge.rb', line 111

def create_session(capabilities)
  @available_commands = ::Appium::Core::Commands::COMMANDS.dup

  always_match = add_appium_prefix(capabilities)
  response = execute(:new_session, {}, { capabilities: { alwaysMatch: always_match, firstMatch: [{}] } })

  @session_id = response['sessionId']
  raise ::Selenium::WebDriver::Error::WebDriverError, 'no sessionId in returned payload' unless @session_id

  @capabilities = json_create(response['capabilities'])
end