Module: Calabash::Cucumber::Operations
- Includes:
- Core, DatePicker, KeyboardHelpers, TestsHelpers, WaitHelpers, Test::Unit::Assertions
- Included in:
- IBase
- Defined in:
- lib/calabash-cucumber/operations.rb
Constant Summary
Constants included from DatePicker
DatePicker::OBJC_DATE_AND_TIME_FMT, DatePicker::RUBY_DATE_AND_TIME_FMT, DatePicker::UI_DATE_PICKER_MODE_COUNT_DOWN_TIMER, DatePicker::UI_DATE_PICKER_MODE_DATE, DatePicker::UI_DATE_PICKER_MODE_DATE_AND_TIME, DatePicker::UI_DATE_PICKER_MODE_TIME
Constants included from PlaybackHelpers
Constants included from KeyboardHelpers
KeyboardHelpers::KEYPLANE_NAMES, KeyboardHelpers::UIA_SUPPORTED_CHARS
Constants included from WaitHelpers
WaitHelpers::CALABASH_CONDITIONS
Instance Method Summary collapse
- #assert_home_direction(expected) ⇒ Object
- #await_page(clz, *args) ⇒ Object
- #clear_text(uiquery) ⇒ Object
- #home_direction ⇒ Object
- #html(q) ⇒ Object
- #identifier(uiquery) ⇒ Object
- #label(uiquery) ⇒ Object
- #page(clz, *args) ⇒ Object
- #set_text(uiquery, txt) ⇒ Object
- #set_user_pref(key, val) ⇒ Object
- #simple_touch(label, *args) ⇒ Object
- #tap(label, *args) ⇒ Object
- #user_pref(key) ⇒ Object
Methods included from DatePicker
#args_for_change_date_on_picker, #countdown_mode?, #date_and_time_mode?, #date_mode?, #date_picker_mode, #date_time_from_picker, #maximum_date_time_from_picker, #minimum_date_time_from_picker, #picker_set_date_time, #query_string_for_picker, #should_see_date_picker, #time_mode?
Methods included from Core
#backdoor, #calabash_exit, #cell_swipe, #client_version, #console_attach, #double_tap, #extract_query_and_options, #flash, #flick, #launcher, #location_for_place, #locations_for_place, #macro, #move_wheel, #pan, #picker, #pinch, #prepare_query_options, #query, #query_action_with_options, #query_all, #scroll, #scroll_to_cell, #scroll_to_row, #scroll_to_row_with_mark, #send_app_to_background, #server_version, #set_location, #shutdown_test_server, #start_test_server_in_background, #stop_test_server, #swipe, #touch, #touch_hold, #two_finger_tap
Methods included from PlaybackHelpers
#find_compatible_recording, #interpolate, #load_playback_data, #load_recording, #playback, #playback_file_directories, #record_begin, #record_end, #recording_name_for
Methods included from RotationHelpers
#rotate, #rotate_home_button_to, #rotation_candidates
Methods included from StatusBarHelpers
#device_orientation, #landscape?, #portrait?, #status_bar_orientation
Methods included from UIA
#escape_uia_string, #send_uia_command, #uia, #uia_call, #uia_call_method, #uia_double_tap, #uia_double_tap_mark, #uia_double_tap_offset, #uia_element_does_not_exist?, #uia_element_exists?, #uia_enter, #uia_flick_offset, #uia_handle_command, #uia_names, #uia_pan, #uia_pan_offset, #uia_pinch, #uia_pinch_offset, #uia_query, #uia_query_el, #uia_query_windows, #uia_screenshot, #uia_scroll_to, #uia_send_app_to_background, #uia_serialize_argument, #uia_serialize_arguments, #uia_serialize_command, #uia_set_location, #uia_swipe, #uia_swipe_offset, #uia_tap, #uia_tap_mark, #uia_tap_offset, #uia_touch_hold, #uia_touch_hold_offset, #uia_two_finger_tap, #uia_two_finger_tap_offset, #uia_type_string
Methods included from Map
Methods included from FailureHelpers
#fail, #screenshot, #screenshot_and_raise, #screenshot_embed
Methods included from QueryHelpers
Methods included from ConnectionHelpers
Methods included from EnvironmentHelpers
#_deprecated, #debug_logging?, #default_device, #device_family_iphone?, #full_console_logging?, #ios5?, #ios6?, #ios7?, #ipad?, #iphone?, #iphone_4in?, #iphone_5?, #iphone_app_emulated_on_ipad?, #ipod?, #no_deprecation_warnings?, #simulator?, #uia_available?, #uia_not_available?, #xamarin_test_cloud?
Methods included from KeyboardHelpers
#_current_keyplane, #_do_keyplane, #_ensure_can_enter_text, #_ipad_keyboard_modes, #_point_for_ipad_keyboard_mode_key, #_qstr_for_keyboard, #_query_for_keyboard_mode_key, #_query_for_touch_for_keyboard_mode_option, #_query_uia_hide_keyboard_button, #_search_keyplanes_and_enter_char, #_touch_bottom_keyboard_mode_row, #_touch_top_keyboard_mode_row, #_wait_for_keyboard_in_mode, #await_keyboard, #dismiss_ipad_keyboard, #docked_keyboard_visible?, #done, #ensure_docked_keyboard, #ensure_split_keyboard, #ensure_undocked_keyboard, #ipad_keyboard_mode, #keyboard_enter_char, #keyboard_enter_text, #keyboard_visible?, #split_keyboard_visible?, #tap_keyboard_action_key, #uia_keyboard_visible?, #uia_wait_for_keyboard, #undocked_keyboard_visible?, #wait_for_keyboard
Methods included from TestsHelpers
#check_element_does_not_exist, #check_element_exists, #check_view_with_mark_exists, #classes, #each_cell, #each_cell_and_back, #element_does_not_exist, #element_exists, #navigation_path, #query_map, #view_with_mark_exists
Methods included from WaitHelpers
#handle_error_with_options, #screenshot_and_retry, #touch_transition, #wait_error, #wait_for, #wait_for_condition, #wait_for_elements_do_not_exist, #wait_for_elements_exist, #wait_for_no_network_indicator, #wait_for_none_animating, #wait_for_transition, #wait_poll
Instance Method Details
#assert_home_direction(expected) ⇒ Object
42 43 44 45 46 |
# File 'lib/calabash-cucumber/operations.rb', line 42 def assert_home_direction(expected) unless expected.to_sym == home_direction screenshot_and_raise "Expected home button to have direction #{expected} but had #{home_direction}" end end |
#await_page(clz, *args) ⇒ Object
34 35 36 |
# File 'lib/calabash-cucumber/operations.rb', line 34 def await_page(clz,*args) clz.new(self,*args).await end |
#clear_text(uiquery) ⇒ Object
81 82 83 84 85 |
# File 'lib/calabash-cucumber/operations.rb', line 81 def clear_text(uiquery) views_modified = map(uiquery, :setText, '') screenshot_and_raise "could not find text field #{uiquery}" if views_modified.empty? views_modified end |
#home_direction ⇒ Object
38 39 40 |
# File 'lib/calabash-cucumber/operations.rb', line 38 def home_direction .to_sym end |
#html(q) ⇒ Object
64 65 66 |
# File 'lib/calabash-cucumber/operations.rb', line 64 def html(q) query(q).map { |e| e['html'] } end |
#identifier(uiquery) ⇒ Object
52 53 54 |
# File 'lib/calabash-cucumber/operations.rb', line 52 def identifier(uiquery) query(uiquery, :accessibilityIdentifier) end |
#label(uiquery) ⇒ Object
48 49 50 |
# File 'lib/calabash-cucumber/operations.rb', line 48 def label(uiquery) query(uiquery, :accessibilityLabel) end |
#page(clz, *args) ⇒ Object
30 31 32 |
# File 'lib/calabash-cucumber/operations.rb', line 30 def page(clz,*args) clz.new(self,*args) end |
#set_text(uiquery, txt) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/calabash-cucumber/operations.rb', line 68 def set_text(uiquery, txt) msgs = ["'set_text' will be deprecated.", "* to enter text using the native keyboard use 'keyboard_enter_text'", "* to clear a text field or text view use 'clear_text'", 'https://github.com/calabash/calabash-ios/wiki/03.5-Calabash-iOS-Ruby-API'] msg = msgs.join("\n") _deprecated('0.9.145', msg, :warn) text_fields_modified = map(uiquery, :setText, txt) screenshot_and_raise "could not find text field #{uiquery}" if text_fields_modified.empty? text_fields_modified end |
#set_user_pref(key, val) ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/calabash-cucumber/operations.rb', line 88 def set_user_pref(key, val) res = http({:method => :post, :path => 'userprefs'}, {:key=> key, :value => val}) res = JSON.parse(res) if res['outcome'] != 'SUCCESS' screenshot_and_raise "set_user_pref #{key} = #{val} failed because: #{res['reason']}\n#{res['details']}" end res['results'] end |
#simple_touch(label, *args) ⇒ Object
56 57 58 |
# File 'lib/calabash-cucumber/operations.rb', line 56 def simple_touch(label, *args) touch("view marked:'#{label}'", *args) end |
#tap(label, *args) ⇒ Object
60 61 62 |
# File 'lib/calabash-cucumber/operations.rb', line 60 def tap(label, *args) simple_touch(label, *args) end |
#user_pref(key) ⇒ Object
99 100 101 102 103 104 105 106 107 108 |
# File 'lib/calabash-cucumber/operations.rb', line 99 def user_pref(key) res = http({:method => :get, :raw => true, :path => 'userprefs'}, {:key=> key}) res = JSON.parse(res) if res['outcome'] != 'SUCCESS' screenshot_and_raise "get user_pref #{key} failed because: #{res['reason']}\n#{res['details']}" end res['results'].first end |