Class: Selenium::WebDriver::Element
- Inherits:
-
Object
- Object
- Selenium::WebDriver::Element
- Includes:
- Appium::Core::Base::SearchContext
- Defined in:
- lib/appium_lib_core/patch.rb
Overview
Implement useful features for element. Patch for Selenium Webdriver.
Constant Summary
Constants included from Appium::Core::Base::SearchContext
Appium::Core::Base::SearchContext::FINDERS
Instance Method Summary collapse
-
#immediate_value(*value) ⇒ Object
Set the value to element directly.
-
#location_rel(driver) ⇒ ::Selenium::WebDriver::Point
For use with location_rel.
-
#method_missing(method_name, *args, &block) ⇒ String
Returns the value of attributes like below.
-
#replace_value(*value) ⇒ Object
Replace the value to element directly.
- #respond_to_missing? ⇒ Boolean
Methods included from Appium::Core::Base::SearchContext
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ String
Returns the value of attributes like below. Read each platform to know more details.
checkable, checked, class, clickable, content-desc, enabled, focusable, focused
long-clickable, package, password, resource-id, scrollable, selection-start, selection-end
selected, text, bounds, index
XCUITest automation name supports below attributes.
UID, accessibilityContainer, accessible, enabled, frame,
label, name, rect, type, value, visible, wdAccessibilityContainer,
wdAccessible, wdEnabled, wdFrame, wdLabel, wdName, wdRect, wdType,
wdUID, wdValue, wdVisible
45 46 47 48 49 50 |
# File 'lib/appium_lib_core/patch.rb', line 45 def method_missing(method_name, *args, &block) ignore_list = [:to_hash] return if ignore_list.include? method_name respond_to?(method_name) ? attribute(method_name.to_s.tr('_', '-')) : super end |
Instance Method Details
#immediate_value(*value) ⇒ Object
Set the value to element directly
65 66 67 |
# File 'lib/appium_lib_core/patch.rb', line 65 def immediate_value(*value) @bridge.set_immediate_value(self, *value) end |
#location_rel(driver) ⇒ ::Selenium::WebDriver::Point
For use with location_rel.
88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/appium_lib_core/patch.rb', line 88 def location_rel(driver) rect = self.rect location_x = rect.x.to_f location_y = rect.y.to_f size_width = rect.width.to_f size_height = rect.height.to_f center_x = location_x + (size_width / 2.0) center_y = location_y + (size_height / 2.0) w = driver.window_size ::Selenium::WebDriver::Point.new "#{center_x} / #{w.width.to_f}", "#{center_y} / #{w.height.to_f}" end |
#replace_value(*value) ⇒ Object
Replace the value to element directly
75 76 77 |
# File 'lib/appium_lib_core/patch.rb', line 75 def replace_value(*value) @bridge.replace_value(self, *value) end |
#respond_to_missing? ⇒ Boolean
52 53 54 |
# File 'lib/appium_lib_core/patch.rb', line 52 def respond_to_missing?(*) true end |