testautoi 0.9.127
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/CHANGES.txt +1 -0
- data/Gemfile +4 -0
- data/LICENSE +8 -0
- data/Rakefile +2 -0
- data/bin/CalabashSetup +0 -0
- data/bin/cal.xcconfig +3 -0
- data/bin/calabash-ios +79 -0
- data/bin/calabash-ios-build.rb +110 -0
- data/bin/calabash-ios-generate.rb +26 -0
- data/bin/calabash-ios-helpers.rb +130 -0
- data/bin/calabash-ios-setup.rb +334 -0
- data/bin/calabash-ios-sim.rb +149 -0
- data/calabash-cucumber.gemspec +29 -0
- data/doc/calabash-ios-help.txt +73 -0
- data/epl-v10.html +261 -0
- data/features-skeleton/.irbrc +23 -0
- data/features-skeleton/irb_ios4.sh +2 -0
- data/features-skeleton/irb_ios5.sh +2 -0
- data/features-skeleton/my_first.feature +12 -0
- data/features-skeleton/step_definitions/calabash_steps.rb +1 -0
- data/features-skeleton/step_definitions/my_first_steps.rb +4 -0
- data/features-skeleton/support/env.rb +1 -0
- data/features-skeleton/support/hooks.rb +0 -0
- data/features-skeleton/support/launch.rb +77 -0
- data/features/step_definitions/calabash_steps.rb +439 -0
- data/lib/calabash-cucumber.rb +7 -0
- data/lib/calabash-cucumber/calabash_steps.rb +1 -0
- data/lib/calabash-cucumber/core.rb +553 -0
- data/lib/calabash-cucumber/cucumber.rb +8 -0
- data/lib/calabash-cucumber/ibase.rb +45 -0
- data/lib/calabash-cucumber/keyboard_helpers.rb +124 -0
- data/lib/calabash-cucumber/launch/simulator_helper.rb +297 -0
- data/lib/calabash-cucumber/location.rb +26 -0
- data/lib/calabash-cucumber/operations.rb +162 -0
- data/lib/calabash-cucumber/resources/cell_swipe_ios4_ipad.base64 +51 -0
- data/lib/calabash-cucumber/resources/cell_swipe_ios4_iphone.base64 +51 -0
- data/lib/calabash-cucumber/resources/cell_swipe_ios5_ipad.base64 +74 -0
- data/lib/calabash-cucumber/resources/cell_swipe_ios5_iphone.base64 +74 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios4_ipad.base64 +104 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios4_iphone.base64 +104 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios5_ipad.base64 +144 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios5_iphone.base64 +144 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios6_ipad.base64 +70 -0
- data/lib/calabash-cucumber/resources/pinch_in_ios6_iphone.base64 +70 -0
- data/lib/calabash-cucumber/resources/pinch_out_ios5_ipad.base64 +207 -0
- data/lib/calabash-cucumber/resources/pinch_out_ios5_iphone.base64 +207 -0
- data/lib/calabash-cucumber/resources/pinch_out_ios6_ipad.base64 +96 -0
- data/lib/calabash-cucumber/resources/pinch_out_ios6_iphone.base64 +96 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_down_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_down_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_down_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_down_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_left_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_left_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_left_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_left_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_right_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_right_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_right_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_right_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_up_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_up_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_up_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_left_home_up_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_down_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_down_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_down_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_down_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_left_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_left_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_left_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_left_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_right_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_right_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_right_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_right_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_up_ios4_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_up_ios4_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_up_ios5_ipad.base64 +2 -0
- data/lib/calabash-cucumber/resources/rotate_right_home_up_ios5_iphone.base64 +2 -0
- data/lib/calabash-cucumber/resources/swipe_down_ios5_ipad.base64 +18 -0
- data/lib/calabash-cucumber/resources/swipe_down_ios5_iphone.base64 +18 -0
- data/lib/calabash-cucumber/resources/swipe_left_hard_ios4_ipad.base64 +15 -0
- data/lib/calabash-cucumber/resources/swipe_left_hard_ios4_iphone.base64 +15 -0
- data/lib/calabash-cucumber/resources/swipe_left_ios4_ipad.base64 +18 -0
- data/lib/calabash-cucumber/resources/swipe_left_ios4_iphone.base64 +18 -0
- data/lib/calabash-cucumber/resources/swipe_left_ios5_ipad.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_left_ios5_iphone.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_right_hard_ios4_ipad.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_right_hard_ios4_iphone.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_right_ios4_ipad.base64 +13 -0
- data/lib/calabash-cucumber/resources/swipe_right_ios4_iphone.base64 +13 -0
- data/lib/calabash-cucumber/resources/swipe_right_ios5_ipad.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_right_ios5_iphone.base64 +17 -0
- data/lib/calabash-cucumber/resources/swipe_up_ios5_ipad.base64 +34 -0
- data/lib/calabash-cucumber/resources/swipe_up_ios5_iphone.base64 +34 -0
- data/lib/calabash-cucumber/resources/touch_done_ios4_ipad.base64 +7 -0
- data/lib/calabash-cucumber/resources/touch_done_ios4_iphone.base64 +9 -0
- data/lib/calabash-cucumber/resources/touch_done_ios5_ipad.base64 +7 -0
- data/lib/calabash-cucumber/resources/touch_done_ios5_iphone.base64 +9 -0
- data/lib/calabash-cucumber/resources/touch_ios4_ipad.base64 +9 -0
- data/lib/calabash-cucumber/resources/touch_ios4_iphone.base64 +9 -0
- data/lib/calabash-cucumber/resources/touch_ios5_ipad.base64 +9 -0
- data/lib/calabash-cucumber/resources/touch_ios5_iphone.base64 +9 -0
- data/lib/calabash-cucumber/resources/wheel_down_ios4_ipad.base64 +159 -0
- data/lib/calabash-cucumber/resources/wheel_down_ios4_iphone.base64 +159 -0
- data/lib/calabash-cucumber/resources/wheel_down_ios5_ipad.base64 +156 -0
- data/lib/calabash-cucumber/resources/wheel_down_ios5_iphone.base64 +156 -0
- data/lib/calabash-cucumber/resources/wheel_up_ios4_ipad.base64 +166 -0
- data/lib/calabash-cucumber/resources/wheel_up_ios4_iphone.base64 +166 -0
- data/lib/calabash-cucumber/resources/wheel_up_ios5_ipad.base64 +156 -0
- data/lib/calabash-cucumber/resources/wheel_up_ios5_iphone.base64 +156 -0
- data/lib/calabash-cucumber/tests_helpers.rb +136 -0
- data/lib/calabash-cucumber/version.rb +6 -0
- data/lib/calabash-cucumber/wait_helpers.rb +149 -0
- data/scripts/data/.GlobalPreferences.plist +0 -0
- data/scripts/data/clients.plist +0 -0
- data/scripts/data/com.apple.Accessibility.plist +0 -0
- data/scripts/reset_simulator.scpt +0 -0
- metadata +319 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
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
|
137
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAgEAAACAPwAAgD8AgKdDAADYQwAA
|
138
|
+
AAAAAAAA0gAKAAsBhwGII0B08AAAAAAAI0B7AAAAAAAA0gAKAAsBigGLI0B08AAA
|
139
|
+
AAAAI0B7AAAAAAAAAAgAYQB2AHsAgACPAJgAnQCmAOkA8gD0APYA/wEIAREBGgEj
|
140
|
+
ASYBOwFEAYcBkAGZAaIBqwG0Ab0B0gHbAh4CJwIwAjkCQgJLAlQCaQJyArUCvgLH
|
141
|
+
AtAC2QLiAusDAAMJA0wDVQNeA2cDcAN5A4IDlwOgA+MD7AP1A/4EBwQQBBkELgQ3
|
142
|
+
BHoEgwSMBJUEngSnBLAExQTOBREFGgUjBSwFNQU+BUcFXAVlBagFsQW6BcMFzAXV
|
143
|
+
Bd4F8wX8Bj8GSAZRBloGYwZsBnUGigaTBtYG3wboBvEG+gcDBwwHIQcqB20Hdgd/
|
144
|
+
B4gHkQeaB6MHuAfBCAQIDQgWCB8IKAgxCDoITwhYCJsIpAitCLYIvwjICNEI5gjv
|
145
|
+
CTIJOwlECU0JVglfCWgJfQmGCckJ0gnbCeQJ7Qn2Cf8KFAodCmAKaQpyCnsKhAqN
|
146
|
+
CpYKqwq0CvcLAAsJCxILGwskCy0LQgtLC44LlwugC6kLsgu7C8QL2QviDCUMLgw3
|
147
|
+
DEAMSQxSDFsMcAx5DLwMxQzODNcM4AzpDPINBw0QDVMNXA1lDW4Ndw2ADYkNng2n
|
148
|
+
DeoN8w38DgUODg4XDiAONQ4+DoEOig6TDpwOpQ6uDrcOzA7VDxgPIQ8qDzMPPA9F
|
149
|
+
D04PYw9sD68PuA/BD8oP0w/cD+UP+hADEEYQTxBYEGEQahBzEHwQkRCaEN0Q5hDv
|
150
|
+
EPgRAREKERMRKBExEXQRfRGGEY8RmBGhEaoRvxHIEgsSFBIdEiYSLxI4EkESVhJf
|
151
|
+
EqISqxK0Er0SxhLPEtgS7RL2EzkTQhNLE1QTXRNmE28ThBONE9AT2RPiE+sT9BP9
|
152
|
+
FAYUGxQkFGcUcBR5FIIUixSUFJ0UshS7FP4VBxUQFRkVIhUrFTQVSRVSFZUVnhWn
|
153
|
+
FbAVuRXCFcsV4BXpFiwWNRY+FkcWUBZZFmIWdxaAFsMWzBbVFt4W5xbwFvkXDhcX
|
154
|
+
F1oXYxdsF3UXfheHF5AXpReuF/EX+hgDGAwYFRgeGCcYPBhFGIgYkRiaGKMYrBi1
|
155
|
+
GL4Y0xjcGR8ZKBkxGToZQxlMGVUZahlzGbYZvxnIGdEZ2hnjAAAAAAAAAgIAAAAA
|
156
|
+
AAABjAAAAAAAAAAAAAAAAAAAGew=
|
@@ -0,0 +1,136 @@
|
|
1
|
+
require 'calabash-cucumber/core'
|
2
|
+
|
3
|
+
module Calabash
|
4
|
+
module Cucumber
|
5
|
+
module TestsHelpers
|
6
|
+
include Calabash::Cucumber::Core
|
7
|
+
|
8
|
+
def navigation_path(*args)
|
9
|
+
|
10
|
+
#navigation_path(
|
11
|
+
# [:a , 2],
|
12
|
+
# [""],
|
13
|
+
#)
|
14
|
+
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
def query_map(uiquery,prop, *args)
|
19
|
+
query(uiquery,*args).map {|o| o[prop.to_s]}
|
20
|
+
end
|
21
|
+
|
22
|
+
def classes(uiquery,*args)
|
23
|
+
query_map(uiquery,:class,*args)
|
24
|
+
end
|
25
|
+
|
26
|
+
def element_does_not_exist(uiquery)
|
27
|
+
query(uiquery).empty?
|
28
|
+
end
|
29
|
+
|
30
|
+
def element_exists(uiquery)
|
31
|
+
not element_does_not_exist(uiquery)
|
32
|
+
end
|
33
|
+
|
34
|
+
def view_with_mark_exists(expected_mark)
|
35
|
+
element_exists("view marked:'#{expected_mark}'")
|
36
|
+
end
|
37
|
+
|
38
|
+
def check_element_exists(query)
|
39
|
+
if not element_exists(query)
|
40
|
+
screenshot_and_raise "No element found for query: #{query}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def check_element_does_not_exist(query)
|
45
|
+
if element_exists(query)
|
46
|
+
screenshot_and_raise "Expected no elements to match query: #{query}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def check_view_with_mark_exists(expected_mark)
|
51
|
+
check_element_exists("view marked:'#{expected_mark}'")
|
52
|
+
end
|
53
|
+
|
54
|
+
def screenshot_and_raise(msg, options={:prefix => nil, :name => nil, :label => nil})
|
55
|
+
screenshot_embed(options)
|
56
|
+
raise(msg)
|
57
|
+
end
|
58
|
+
|
59
|
+
def fail(msg="Error. Check log for details.", options={:prefix => nil, :name => nil, :label => nil})
|
60
|
+
screenshot_and_raise(msg, options)
|
61
|
+
end
|
62
|
+
|
63
|
+
def each_cell(opts={:query => "tableView", :post_scroll => 0.3, :animate => true}, &block)
|
64
|
+
uiquery = opts[:query] || "tableView"
|
65
|
+
skip = opts[:skip_if]
|
66
|
+
check_element_exists(uiquery)
|
67
|
+
secs = query(uiquery,:numberOfSections).first
|
68
|
+
secs.times do |sec|
|
69
|
+
rows = query(uiquery,{:numberOfRowsInSection => sec}).first
|
70
|
+
rows.times do |row|
|
71
|
+
next if skip and skip.call(row,sec)
|
72
|
+
scroll_opts = {:section => sec, :row => row}.merge(opts)
|
73
|
+
scroll_to_cell(scroll_opts)
|
74
|
+
sleep(opts[:post_scroll]) if opts[:post_scroll] and opts[:post_scroll] > 0
|
75
|
+
yield(row, sec)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def each_cell_and_back(opts={:query => "tableView",
|
81
|
+
:post_scroll => 0.3,
|
82
|
+
:post_back => 0.5,
|
83
|
+
:post_tap_cell => 0.3,
|
84
|
+
:animate => true}, &block)
|
85
|
+
back_query = opts[:back_query] || "navigationItemButtonView"
|
86
|
+
post_tap_cell = opts[:post_tap_cell] || 0.3
|
87
|
+
post_back = opts[:post_back] || 0.6
|
88
|
+
|
89
|
+
|
90
|
+
each_cell(opts) do |row, sec|
|
91
|
+
touch("tableViewCell indexPath:#{row},#{sec}")
|
92
|
+
wait_for_elements_exist([back_query])
|
93
|
+
sleep(post_tap_cell) if post_tap_cell > 0
|
94
|
+
|
95
|
+
yield(row,sec) if block_given?
|
96
|
+
|
97
|
+
touch(back_query)
|
98
|
+
|
99
|
+
sleep(post_back) if post_back > 0
|
100
|
+
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
def screenshot_embed(options={:prefix => nil, :name => nil, :label => nil})
|
106
|
+
path = screenshot(options)
|
107
|
+
embed(path, "image/png", options[:label] || File.basename(path))
|
108
|
+
end
|
109
|
+
|
110
|
+
def screenshot(options={:prefix => nil, :name => nil})
|
111
|
+
prefix = options[:prefix]
|
112
|
+
name = options[:name]
|
113
|
+
|
114
|
+
@@screenshot_count ||= 0
|
115
|
+
res = http({:method => :get, :path => 'screenshot'})
|
116
|
+
prefix = prefix || ENV['SCREENSHOT_PATH'] || ""
|
117
|
+
if name.nil?
|
118
|
+
name = "screenshot"
|
119
|
+
else
|
120
|
+
if File.extname(name).downcase == ".png"
|
121
|
+
name = name.split(".png")[0]
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
path = "#{prefix}#{name}_#{@@screenshot_count}.png"
|
126
|
+
File.open(path, 'wb') do |f|
|
127
|
+
f.write res
|
128
|
+
end
|
129
|
+
@@screenshot_count += 1
|
130
|
+
path
|
131
|
+
end
|
132
|
+
|
133
|
+
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
require 'calabash-cucumber/core'
|
2
|
+
require 'calabash-cucumber/tests_helpers'
|
3
|
+
|
4
|
+
module Calabash
|
5
|
+
module Cucumber
|
6
|
+
module WaitHelpers
|
7
|
+
include Calabash::Cucumber::Core
|
8
|
+
include Calabash::Cucumber::TestsHelpers
|
9
|
+
|
10
|
+
|
11
|
+
class WaitError < RuntimeError
|
12
|
+
end
|
13
|
+
CALABASH_CONDITIONS = {:none_animating => "NONE_ANIMATING",
|
14
|
+
:no_network_indicator => "NO_NETWORK_INDICATOR"}
|
15
|
+
|
16
|
+
|
17
|
+
def wait_for(options_or_timeout=
|
18
|
+
{:timeout => 10,
|
19
|
+
:retry_frequency => 0.2,
|
20
|
+
:post_timeout => 0.1,
|
21
|
+
:timeout_message => "Timed out waiting...",
|
22
|
+
:screenshot_on_error => true}, &block)
|
23
|
+
#note Hash is preferred, number acceptable for backwards compat
|
24
|
+
timeout=options_or_timeout
|
25
|
+
post_timeout=0.1
|
26
|
+
retry_frequency=0.2
|
27
|
+
timeout_message = nil
|
28
|
+
screenshot_on_error = true
|
29
|
+
|
30
|
+
if options_or_timeout.is_a?(Hash)
|
31
|
+
timeout = options_or_timeout[:timeout] || 10
|
32
|
+
retry_frequency = options_or_timeout[:retry_frequency] || 0.2
|
33
|
+
post_timeout = options_or_timeout[:post_timeout] || 0.1
|
34
|
+
timeout_message = options_or_timeout[:timeout_message]
|
35
|
+
screenshot_on_error = options_or_timeout[:screenshot_on_error] || true
|
36
|
+
end
|
37
|
+
|
38
|
+
begin
|
39
|
+
Timeout::timeout(timeout,WaitError) do
|
40
|
+
sleep(retry_frequency) until yield
|
41
|
+
end
|
42
|
+
sleep(post_timeout) if post_timeout > 0
|
43
|
+
rescue WaitError => e
|
44
|
+
handle_error_with_options(e,timeout_message, screenshot_on_error)
|
45
|
+
rescue Exception => e
|
46
|
+
handle_error_with_options(e, nil, screenshot_on_error)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def wait_poll(opts, &block)
|
51
|
+
test = opts[:until]
|
52
|
+
if test.nil?
|
53
|
+
cond = opts[:until_exists]
|
54
|
+
raise "Must provide :until or :until_exists" unless cond
|
55
|
+
test = lambda { element_exists(cond) }
|
56
|
+
end
|
57
|
+
wait_for(opts) do
|
58
|
+
if test.call()
|
59
|
+
true
|
60
|
+
else
|
61
|
+
yield
|
62
|
+
false
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
#options for wait_for apply
|
68
|
+
def wait_for_elements_exist(elements_arr, options={})
|
69
|
+
options[:timeout_message] = options[:timeout_message] || "Timeout waiting for elements: #{elements_arr.join(",")}"
|
70
|
+
wait_for(options) do
|
71
|
+
elements_arr.all? { |q| element_exists(q) }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
#options for wait_for apply
|
75
|
+
def wait_for_elements_do_not_exist(elements_arr, options={})
|
76
|
+
options[:timeout_message] = options[:timeout_message] || "Timeout waiting for no elements matching: #{elements_arr.join(",")}"
|
77
|
+
wait_for(options) do
|
78
|
+
elements_arr.none? { |q| element_exists(q) }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def wait_for_condition(options = {})
|
83
|
+
options[:timeout] = options[:timeout] || 10
|
84
|
+
options[:query] = options[:query] || "view"
|
85
|
+
options[:condition] = options[:condition] || CALABASH_CONDITIONS[:none_animating]
|
86
|
+
options[:post_timeout] = options[:post_timeout] || 0.1
|
87
|
+
options[:frequency] = options[:frequency] || 0.2
|
88
|
+
options[:retry_frequency] = options[:retry_frequency] || 0.2
|
89
|
+
options[:count] = options[:count] || 2
|
90
|
+
options[:timeout_message] = options[:timeout_message] || "Timeout waiting for condition (#{options[:condition]})"
|
91
|
+
options[:screenshot_on_error] = options[:screenshot_on_error] || true
|
92
|
+
|
93
|
+
if options[:condition] == CALABASH_CONDITIONS[:none_animating]
|
94
|
+
#puts "Waiting for none-animating has been found unreliable."
|
95
|
+
#puts "You are advised not to use it until this is resolved."
|
96
|
+
#puts "Test will continue..."
|
97
|
+
end
|
98
|
+
begin
|
99
|
+
Timeout::timeout(options[:timeout],WaitError) do
|
100
|
+
loop do
|
101
|
+
res = http({:method => :post, :path => 'condition'},
|
102
|
+
options)
|
103
|
+
res = JSON.parse(res)
|
104
|
+
break if res['outcome'] == 'SUCCESS'
|
105
|
+
sleep(options[:retry_frequency]) if options[:retry_frequency] > 0
|
106
|
+
end
|
107
|
+
sleep(options[:post_timeout]) if options[:post_timeout] > 0
|
108
|
+
end
|
109
|
+
rescue WaitError => e
|
110
|
+
handle_error_with_options(e,options[:timeout_message], options[:screenshot_on_error])
|
111
|
+
rescue Exception => e
|
112
|
+
handle_error_with_options(e,nil, options[:screenshot_on_error])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def wait_for_none_animating(options = {})
|
117
|
+
#sleep(0.3)
|
118
|
+
options[:condition] = CALABASH_CONDITIONS[:none_animating]
|
119
|
+
wait_for_condition(options)
|
120
|
+
end
|
121
|
+
|
122
|
+
#may be called with a string (query) or an array of strings
|
123
|
+
def wait_for_transition(done_queries, check_options={},animation_options={})
|
124
|
+
done_queries = [*done_queries]
|
125
|
+
wait_for_elements_exist(done_queries,check_options)
|
126
|
+
wait_for_none_animating(animation_options)
|
127
|
+
end
|
128
|
+
|
129
|
+
def touch_transition(touch_q, done_queries,check_options={},animation_options={})
|
130
|
+
touch(touch_q)
|
131
|
+
wait_for_transition(done_queries,check_options,animation_options)
|
132
|
+
end
|
133
|
+
|
134
|
+
def handle_error_with_options(ex, timeout_message, screenshot_on_error)
|
135
|
+
msg = (timeout_message || ex)
|
136
|
+
if ex
|
137
|
+
msg = "#{msg} (#{ex.class})"
|
138
|
+
end
|
139
|
+
if screenshot_on_error
|
140
|
+
screenshot_and_raise msg
|
141
|
+
else
|
142
|
+
raise msg
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|