Class: Appium::Core::Base::Bridge::W3C
- Inherits:
-
Selenium::WebDriver::Remote::W3C::Bridge
- Object
- Selenium::WebDriver::Remote::W3C::Bridge
- Appium::Core::Base::Bridge::W3C
- Defined in:
- lib/appium_lib_core/common/base/bridge/w3c.rb
Instance Method Summary collapse
-
#available_log_types ⇒ Object
logs.
- #commands(command) ⇒ Object
-
#element_attribute(element, name) ⇒ Object
For Appium override.
-
#find_element_by(how, what, parent = nil) ⇒ Object
For Appium override.
-
#find_elements_by(how, what, parent = nil) ⇒ Object
For Appium override.
-
#get_timeouts ⇒ Object
Port from MJSONWP.
-
#location ⇒ Object
For Appium No implementation for W3C webdriver module called in ‘extend DriverExtensions::HasLocation`.
-
#log(type) ⇒ Object
For Appium No implementation for W3C webdriver module.
-
#network_connection ⇒ Object
For Appium override called in ‘extend DriverExtensions::HasNetworkConnection`.
-
#network_connection=(type) ⇒ Object
For Appium override called in ‘extend DriverExtensions::HasNetworkConnection`.
-
#page_source ⇒ Object
For Appium override.
-
#session_capabilities ⇒ Object
Port from MJSONWP.
-
#set_location(lat, lon, alt) ⇒ Object
For Appium No implementation for W3C webdriver module called in ‘extend DriverExtensions::HasLocation`.
Instance Method Details
#available_log_types ⇒ Object
logs
For Appium No implementation for W3C webdriver module
122 123 124 125 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 122 def available_log_types types = execute :get_available_log_types Array(types).map(&:to_sym) end |
#commands(command) ⇒ Object
10 11 12 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 10 def commands(command) ::Appium::Core::Commands::W3C::COMMANDS[command] end |
#element_attribute(element, name) ⇒ Object
For Appium override
54 55 56 57 58 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 54 def element_attribute(element, name) # For W3C # execute_atom :getAttribute, element, name execute :get_element_attribute, id: element.ref, name: name end |
#find_element_by(how, what, parent = nil) ⇒ Object
For Appium override
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 62 def find_element_by(how, what, parent = nil) how, what = convert_locators(how, what) id = if parent execute :find_child_element, { id: parent }, { using: how, value: what } else execute :find_element, {}, { using: how, value: what } end ::Selenium::WebDriver::Element.new self, element_id_from(id) end |
#find_elements_by(how, what, parent = nil) ⇒ Object
For Appium override
75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 75 def find_elements_by(how, what, parent = nil) how, what = convert_locators(how, what) ids = if parent execute :find_child_elements, { id: parent }, { using: how, value: what } else execute :find_elements, {}, { using: how, value: what } end ids.map { |id| ::Selenium::WebDriver::Element.new self, element_id_from(id) } end |
#get_timeouts ⇒ Object
Port from MJSONWP
33 34 35 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 33 def get_timeouts execute :get_timeouts end |
#location ⇒ Object
For Appium No implementation for W3C webdriver module called in ‘extend DriverExtensions::HasLocation`
104 105 106 107 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 104 def location obj = execute(:get_location) || {} ::Selenium::WebDriver::Location.new obj['latitude'], obj['longitude'], obj['altitude'] end |
#log(type) ⇒ Object
For Appium No implementation for W3C webdriver module
129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 129 def log(type) data = execute :get_log, {}, { type: type.to_s } Array(data).map do |l| begin ::Selenium::WebDriver::LogEntry.new l.fetch('level', 'UNKNOWN'), l.fetch('timestamp'), l.fetch('message') rescue KeyError next end end end |
#network_connection ⇒ Object
For Appium override called in ‘extend DriverExtensions::HasNetworkConnection`
90 91 92 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 90 def network_connection execute :get_network_connection end |
#network_connection=(type) ⇒ Object
For Appium override called in ‘extend DriverExtensions::HasNetworkConnection`
97 98 99 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 97 def network_connection=(type) execute :set_network_connection, {}, { parameters: { type: type } } end |
#page_source ⇒ Object
For Appium override
44 45 46 47 48 49 50 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 44 def page_source # For W3C # execute_script('var source = document.documentElement.outerHTML;' # 'if (!source) { source = new XMLSerializer().serializeToString(document); }' # 'return source;') execute :get_page_source end |
#session_capabilities ⇒ Object
Port from MJSONWP
38 39 40 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 38 def session_capabilities ::Selenium::WebDriver::Remote::W3C::Capabilities.json_create execute(:get_capabilities) end |
#set_location(lat, lon, alt) ⇒ Object
For Appium No implementation for W3C webdriver module called in ‘extend DriverExtensions::HasLocation`
112 113 114 115 |
# File 'lib/appium_lib_core/common/base/bridge/w3c.rb', line 112 def set_location(lat, lon, alt) loc = { latitude: lat, longitude: lon, altitude: alt } execute :set_location, {}, { location: loc } end |