Class: TestCentricity::Audio
- Defined in:
- lib/testcentricity_web/web_elements/audio.rb
Constant Summary
Constants inherited from UIElement
UIElement::CSS_SELECTORS, UIElement::XPATH_SELECTORS
Instance Attribute Summary
Attributes inherited from UIElement
#alt_locator, #context, #locator, #locator_type, #name, #original_style, #parent, #type
Instance Method Summary collapse
-
#autoplay? ⇒ Boolean
Return audio autoplay property.
-
#controls? ⇒ Boolean
Return audio controls property.
-
#current_time ⇒ Float
Return audio currentTime property.
-
#current_time=(value) ⇒ Object
Set the audio currentTime property.
-
#default_muted? ⇒ Boolean
Return audio defaultMuted property.
-
#default_playback_rate ⇒ Integer or Float
Return audio defaultPlaybackRate property.
-
#duration ⇒ Float
Return audio duration property.
-
#ended? ⇒ Boolean
Return audio ended property.
-
#initialize(name, parent, locator, context) ⇒ Audio
constructor
A new instance of Audio.
-
#loop? ⇒ Boolean
Return audio loop property.
-
#muted? ⇒ Boolean
Return audio muted property.
-
#pause ⇒ Object
Pause the audio.
-
#paused? ⇒ Boolean
Return audio paused property.
-
#play ⇒ Object
Play the audio.
-
#playback_rate ⇒ Integer or Float
Return audio playbackRate property.
-
#ready_state ⇒ Integer
Return audio readyState property.
-
#seeking? ⇒ Boolean
Return audio seeking property.
-
#src ⇒ String
Return audio src property.
-
#volume ⇒ Integer or Float
Return audio volume property.
-
#wait_until_ready_state_is(value, seconds = nil, post_exception = true) ⇒ Object
Wait until the audio object's readyState value equals the specified value, or until the specified wait time has expired.
Methods inherited from UIElement
#aria_autocomplete, #aria_busy?, #aria_checked?, #aria_colcount, #aria_controls, #aria_describedby, #aria_disabled?, #aria_expanded?, #aria_haspopup?, #aria_hidden?, #aria_invalid?, #aria_keyshortcuts, #aria_label, #aria_labelledby, #aria_live, #aria_modal?, #aria_multiline?, #aria_multiselectable?, #aria_orientation, #aria_pressed?, #aria_readonly?, #aria_required?, #aria_roledescription, #aria_rowcount, #aria_selected?, #aria_sort, #aria_valuemax, #aria_valuemin, #aria_valuenow, #aria_valuetext, #clear_alt_locator, #click, #click_at, #count, #disabled?, #displayed?, #double_click, #drag_and_drop, #drag_by, #enabled?, #exists?, #get_attribute, #get_locator, #get_locator_type, #get_name, #get_native_attribute, #get_object_type, #get_siebel_object_type, #get_value, #height, #hidden?, #highlight, #hover, #hover_at, #inspect, #invoke_siebel_dialog, #obscured?, #right_click, #role, #send_keys, #set, #set_alt_locator, #set_locator_type, #style, #tabindex, #title, #unhighlight, #verify_value, #visible?, #wait_until_exists, #wait_until_gone, #wait_until_hidden, #wait_until_value_changes, #wait_until_value_is, #wait_until_visible, #width, #x, #y
Constructor Details
#initialize(name, parent, locator, context) ⇒ Audio
Returns a new instance of Audio.
3 4 5 6 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 3 def initialize(name, parent, locator, context) super @type = :audio end |
Instance Method Details
#autoplay? ⇒ Boolean
Return audio autoplay property
14 15 16 17 18 19 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 14 def autoplay? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) state = obj.native.attribute('autoplay') state.boolean? ? state : state == 'true' end |
#controls? ⇒ Boolean
Return audio controls property
40 41 42 43 44 45 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 40 def controls? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) state = obj.native.attribute('controls') state.boolean? ? state : state == 'true' end |
#current_time ⇒ Float
Return audio currentTime property
130 131 132 133 134 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 130 def current_time obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('currentTime').to_f end |
#current_time=(value) ⇒ Object
Set the audio currentTime property
227 228 229 230 231 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 227 def current_time=(value) obj, = find_element(visible = :all) object_not_found_exception(obj, nil) page.execute_script('arguments[0].currentTime = arguments[1]', obj, value) end |
#default_muted? ⇒ Boolean
Return audio defaultMuted property
79 80 81 82 83 84 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 79 def default_muted? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) mute_state = obj.native.attribute('defaultMuted') mute_state.boolean? ? mute_state : mute_state == 'true' end |
#default_playback_rate ⇒ Integer or Float
Return audio defaultPlaybackRate property
142 143 144 145 146 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 142 def default_playback_rate obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('defaultPlaybackRate') end |
#duration ⇒ Float
Return audio duration property
154 155 156 157 158 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 154 def duration obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('duration').to_f end |
#ended? ⇒ Boolean
Return audio ended property
27 28 29 30 31 32 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 27 def ended? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) state = obj.native.attribute('ended') state.boolean? ? state : state == 'true' end |
#loop? ⇒ Boolean
Return audio loop property
53 54 55 56 57 58 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 53 def loop? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) loop_state = obj.native.attribute('loop') loop_state.boolean? ? loop_state : loop_state == 'true' end |
#muted? ⇒ Boolean
Return audio muted property
66 67 68 69 70 71 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 66 def muted? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) mute_state = obj.native.attribute('muted') mute_state.boolean? ? mute_state : mute_state == 'true' end |
#pause ⇒ Object
Pause the audio
249 250 251 252 253 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 249 def pause obj, = find_element(visible = :all) object_not_found_exception(obj, nil) page.execute_script('arguments[0].pause()', obj) end |
#paused? ⇒ Boolean
Return audio paused property
92 93 94 95 96 97 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 92 def paused? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) paused_state = obj.native.attribute('paused') paused_state.boolean? ? paused_state : paused_state == 'true' end |
#play ⇒ Object
Play the audio
238 239 240 241 242 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 238 def play obj, = find_element(visible = :all) object_not_found_exception(obj, nil) page.execute_script('arguments[0].play()', obj) end |
#playback_rate ⇒ Integer or Float
Return audio playbackRate property
166 167 168 169 170 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 166 def playback_rate obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('playbackRate') end |
#ready_state ⇒ Integer
Return audio readyState property
183 184 185 186 187 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 183 def ready_state obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('readyState').to_i end |
#seeking? ⇒ Boolean
Return audio seeking property
105 106 107 108 109 110 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 105 def seeking? obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) state = obj.native.attribute('seeking') state.boolean? ? state : state == 'true' end |
#src ⇒ String
Return audio src property
118 119 120 121 122 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 118 def src obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('src') end |
#volume ⇒ Integer or Float
Return audio volume property
215 216 217 218 219 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 215 def volume obj, = find_element(visible = :all) object_not_found_exception(obj, :audio) obj.native.attribute('volume') end |
#wait_until_ready_state_is(value, seconds = nil, post_exception = true) ⇒ Object
Wait until the audio object's readyState value equals the specified value, or until the specified wait time has expired. If the wait time is nil, then the wait time will be Capybara.default_max_wait_time.
197 198 199 200 201 202 203 204 205 206 207 |
# File 'lib/testcentricity_web/web_elements/audio.rb', line 197 def wait_until_ready_state_is(value, seconds = nil, post_exception = true) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { ready_state == value } rescue StandardError if post_exception raise "Ready state of Audio #{} failed to equal '#{value}' after #{timeout} seconds" unless get_value == value else ready_state == value end end |