|
3 | 3 | require 'selenium-webdriver'
|
4 | 4 | require 'nokogiri'
|
5 | 5 |
|
| 6 | +# base |
| 7 | +require_relative 'capabilities' |
| 8 | + |
6 | 9 | # common
|
7 | 10 | require_relative 'common/helper'
|
8 | 11 | require_relative 'common/wait'
|
|
25 | 28 | require_relative 'ios/element/text'
|
26 | 29 | require_relative 'ios/mobile_methods'
|
27 | 30 |
|
28 |
| -# ios - xcuitest |
29 |
| -require_relative 'ios/xcuitest/search_context' |
30 |
| -require_relative 'ios/xcuitest/element' |
31 |
| -require_relative 'ios/xcuitest/gestures' |
32 |
| -require_relative 'ios/xcuitest/command/pasteboard' |
33 |
| -require_relative 'ios/xcuitest/device' |
34 |
| -require_relative 'ios/xcuitest/helper' |
35 |
| -require_relative 'ios/xcuitest/element/text' |
36 |
| -require_relative 'ios/xcuitest/element/textfield' |
37 |
| -require_relative 'ios/xcuitest/element/generic' |
38 |
| -require_relative 'ios/xcuitest/element/button' |
| 31 | +require_relative 'ios/xcuitest' |
39 | 32 |
|
40 | 33 | # android
|
41 | 34 | require_relative 'android/helper'
|
|
51 | 44 | require_relative 'android/device'
|
52 | 45 |
|
53 | 46 | # android - uiautomator2
|
54 |
| -require_relative 'android/uiautomator2/helper.rb' |
| 47 | +require_relative 'android/uiautomator2' |
55 | 48 |
|
56 | 49 | # device methods
|
57 | 50 | require_relative 'device/device'
|
@@ -269,18 +262,6 @@ def self.selenium_webdriver_version_more?(version)
|
269 | 262 | Gem.loaded_specs['selenium-webdriver'].version >= Gem::Version.new(version)
|
270 | 263 | end
|
271 | 264 |
|
272 |
| - class Driver |
273 |
| - module Capabilities |
274 |
| - # @param [Hash] opts_caps Capabilities for Appium server. All capability keys are converted to lowerCamelCase when |
275 |
| - # this client sends capabilities to Appium server as JSON format. |
276 |
| - # @return [::Selenium::WebDriver::Remote::W3C::Capabilities] Return instance of Appium::Driver::Capabilities |
277 |
| - # inherited ::Selenium::WebDriver::Remote::W3C::Capabilities |
278 |
| - def self.init_caps_for_appium(opts_caps = {}) |
279 |
| - ::Selenium::WebDriver::Remote::W3C::Capabilities.new(opts_caps) |
280 |
| - end |
281 |
| - end |
282 |
| - end |
283 |
| - |
284 | 265 | class Driver
|
285 | 266 | # attr readers are promoted to global scope. To avoid clobbering, they're
|
286 | 267 | # made available via the driver_attributes method
|
@@ -388,11 +369,15 @@ class Driver
|
388 | 369 | # @param opts [Object] A hash containing various options.
|
389 | 370 | # @param global_driver [Bool] A bool require global driver before initialize.
|
390 | 371 | # @return [Driver]
|
391 |
| - def initialize(opts = {}, global_driver = true) |
392 |
| - if global_driver |
| 372 | + def initialize(opts = {}, global_driver = nil) |
| 373 | + if global_driver.nil? |
393 | 374 | warn '[DEPRECATION] Appium::Driver.new(opts) will not generate global driver by default.' \
|
394 | 375 | 'If you would like to generate the global driver dy default, ' \
|
395 | 376 | 'please initialise driver with Appium::Driver.new(opts, true)'
|
| 377 | + global_driver = true # if global_driver is nil, then global_driver must be default value. |
| 378 | + end |
| 379 | + |
| 380 | + if global_driver |
396 | 381 | $driver.driver_quit if $driver
|
397 | 382 | end
|
398 | 383 | raise 'opts must be a hash' unless opts.is_a? Hash
|
@@ -427,12 +412,13 @@ def initialize(opts = {}, global_driver = true)
|
427 | 412 | extend Appium::Android
|
428 | 413 | extend Appium::Android::Device
|
429 | 414 | if automation_name_is_uiautomator2?
|
| 415 | + extend Appium::Android::Uiautomator2 |
430 | 416 | extend Appium::Android::Uiautomator2::Helper
|
| 417 | + extend Appium::Android::Uiautomator2::Element |
431 | 418 | end
|
432 | 419 | else
|
433 | 420 | extend Appium::Ios
|
434 | 421 | if automation_name_is_xcuitest?
|
435 |
| - # Override touch actions and patch_webdriver_element |
436 | 422 | extend Appium::Ios::Xcuitest
|
437 | 423 | extend Appium::Ios::Xcuitest::SearchContext
|
438 | 424 | extend Appium::Ios::Xcuitest::Command
|
|
0 commit comments