calabash-cucumber 0.14.2.pre1 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dylibs/libCalabashDyn.dylib +0 -0
- data/dylibs/libCalabashDynSim.dylib +0 -0
- data/features/step_definitions/calabash_steps.rb +1 -1
- data/lib/calabash-cucumber/core.rb +9 -9
- data/lib/calabash-cucumber/http_helpers.rb +2 -3
- data/lib/calabash-cucumber/keyboard_helpers.rb +1 -1
- data/lib/calabash-cucumber/keychain_helpers.rb +14 -4
- data/lib/calabash-cucumber/launch/simulator_launcher.rb +1 -3
- data/lib/calabash-cucumber/launcher.rb +1 -7
- data/lib/calabash-cucumber/utils/logging.rb +2 -2
- data/lib/calabash-cucumber/version.rb +2 -2
- data/lib/calabash-cucumber/wait_helpers.rb +18 -14
- data/staticlib/calabash.framework.zip +0 -0
- data/staticlib/libFrankCalabash.a +0 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccef20da034464aa0eb6747ea0f047731ad99528
|
4
|
+
data.tar.gz: 7aa938f5d8956a29aac66b410cf1b2b0aba34203
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16330bd75b391e907a4ba8eefcbf13f3f5f805c2f1959393747db63fb0f7b417d4f8ddbc82a5b0e3c65d5af6a4969068616b9cd2bc9f3881001ef77c207a89e2
|
7
|
+
data.tar.gz: 89da2e34073420b84db8dce75d8b7fcb6fe363d7e706d0d489399e52de0ca7619486e20d0476cb4c300a45b64983814a0647fbd47fdfa26263c89b1992a3875f
|
data/dylibs/libCalabashDyn.dylib
CHANGED
Binary file
|
Binary file
|
@@ -62,7 +62,7 @@ end
|
|
62
62
|
|
63
63
|
Then /^I (?:press|touch) list item "([^\"]*)"$/ do |cell_name|
|
64
64
|
if query("tableViewCell marked: '#{cell_name}'").empty?
|
65
|
-
touch("tableViewCell text:'
|
65
|
+
touch("tableViewCell text: '#{cell_name}'")
|
66
66
|
else
|
67
67
|
touch("tableViewCell marked: '#{cell_name}'")
|
68
68
|
end
|
@@ -538,10 +538,10 @@ module Calabash
|
|
538
538
|
# a custom error message to display if the scrolling fails - if not
|
539
539
|
# specified, a generic failure will be displayed
|
540
540
|
#
|
541
|
-
# @raise [
|
542
|
-
# @raise [
|
543
|
-
# @raise [
|
544
|
-
# @raise [
|
541
|
+
# @raise [RuntimeError] if the scroll cannot be performed
|
542
|
+
# @raise [RuntimeError] :query finds no collection view
|
543
|
+
# @raise [RuntimeError] the collection view does not contain a cell at item/section
|
544
|
+
# @raise [RuntimeError] :scroll_position is invalid
|
545
545
|
def scroll_to_collection_view_item(item, section, opts={})
|
546
546
|
default_options = {:query => 'collectionView',
|
547
547
|
:scroll_position => :top,
|
@@ -596,12 +596,12 @@ module Calabash
|
|
596
596
|
# a custom error message to display if the scrolling fails - if not
|
597
597
|
# specified, a generic failure will be displayed
|
598
598
|
#
|
599
|
-
# @raise [
|
600
|
-
# @raise [
|
601
|
-
# @raise [
|
602
|
-
# @raise [
|
599
|
+
# @raise [RuntimeError] if the scroll cannot be performed
|
600
|
+
# @raise [RuntimeError] if the mark is nil
|
601
|
+
# @raise [RuntimeError] :query finds no collection view
|
602
|
+
# @raise [RuntimeError] the collection view does not contain a cell
|
603
603
|
# with the mark
|
604
|
-
# @raise [
|
604
|
+
# @raise [RuntimeError] :scroll_position is invalid
|
605
605
|
def scroll_to_collection_view_item_with_mark(mark, opts={})
|
606
606
|
default_options = {:query => 'collectionView',
|
607
607
|
:scroll_position => :top,
|
@@ -48,7 +48,6 @@ module Calabash
|
|
48
48
|
def make_http_request(options)
|
49
49
|
retryable_errors = options[:retryable_errors] || RETRYABLE_ERRORS
|
50
50
|
CAL_HTTP_RETRY_COUNT.times do |count|
|
51
|
-
previous_debug_dev = nil
|
52
51
|
begin
|
53
52
|
if not @http
|
54
53
|
@http = init_request(options)
|
@@ -63,7 +62,7 @@ module Calabash
|
|
63
62
|
raise Errno::ECONNREFUSED if response.status_code == 502
|
64
63
|
|
65
64
|
return response.body
|
66
|
-
rescue
|
65
|
+
rescue => e
|
67
66
|
|
68
67
|
if retryable_errors.include?(e) || retryable_errors.any? { |c| e.is_a?(c) }
|
69
68
|
|
@@ -102,4 +101,4 @@ module Calabash
|
|
102
101
|
|
103
102
|
end
|
104
103
|
end
|
105
|
-
end
|
104
|
+
end
|
@@ -155,7 +155,7 @@ module Calabash
|
|
155
155
|
#
|
156
156
|
# @param [Hash] opts controls the `wait_for` behavior
|
157
157
|
# @option opts [String] :timeout_message ('keyboard did not appear')
|
158
|
-
# Controls the message that appears in the
|
158
|
+
# Controls the message that appears in the error.
|
159
159
|
# @option opts [Number] :post_timeout (0.3) Controls how long to wait
|
160
160
|
# _after_ the keyboard has appeared.
|
161
161
|
#
|
@@ -29,8 +29,14 @@ module Calabash
|
|
29
29
|
# @param [Hash] options
|
30
30
|
# @raise [RuntimeError] if http request does not report success
|
31
31
|
def _keychain_get(options={})
|
32
|
-
|
33
|
-
|
32
|
+
raw = http({:method => :get, :raw => true, :path => 'keychain'}, options)
|
33
|
+
|
34
|
+
begin
|
35
|
+
res = JSON.parse(raw)
|
36
|
+
rescue TypeError, JSON::ParserError => _
|
37
|
+
raise "Could not parse response '#{res}'; the app might have crashed or the server responded with invalid JSON."
|
38
|
+
end
|
39
|
+
|
34
40
|
if res['outcome'] != 'SUCCESS'
|
35
41
|
raise "get keychain with options '#{options}' failed because: '#{res['reason']}'\n'#{res['details']}'"
|
36
42
|
end
|
@@ -105,11 +111,15 @@ module Calabash
|
|
105
111
|
# @raise [RuntimeError] if http request does not report success
|
106
112
|
def _keychain_post(options={})
|
107
113
|
raw = http({:method => :post, :path => 'keychain'}, options)
|
108
|
-
|
114
|
+
begin
|
115
|
+
res = JSON.parse(raw)
|
116
|
+
rescue TypeError, JSON::ParserError => _
|
117
|
+
raise "Could not parse response '#{res}'; the app might have crashed or the server responded with invalid JSON."
|
118
|
+
end
|
109
119
|
if res['outcome'] != 'SUCCESS'
|
110
120
|
raise "post keychain with options '#{options}' failed because: #{res['reason']}\n#{res['details']}"
|
111
121
|
end
|
112
|
-
|
122
|
+
res['results']
|
113
123
|
end
|
114
124
|
|
115
125
|
# On the iOS Simulator this clears *all* keychain entries for *all*
|
@@ -26,7 +26,7 @@ module Calabash
|
|
26
26
|
|
27
27
|
# Custom error indicating a timeout in launching and connecting to the
|
28
28
|
# embedded calabash server.
|
29
|
-
# @todo This is duplicated in Launcher class - consider
|
29
|
+
# @todo This is duplicated in Launcher class - consider errors.rb module.
|
30
30
|
class TimeoutErr < RuntimeError
|
31
31
|
end
|
32
32
|
|
@@ -459,8 +459,6 @@ module Calabash
|
|
459
459
|
begin
|
460
460
|
connected = (ping_app == '200')
|
461
461
|
break if connected
|
462
|
-
rescue Exception => e
|
463
|
-
# nop
|
464
462
|
ensure
|
465
463
|
sleep 1 unless connected
|
466
464
|
end
|
@@ -787,9 +787,6 @@ class Calabash::Cucumber::Launcher
|
|
787
787
|
begin
|
788
788
|
connected = (ping_app == '200')
|
789
789
|
break if connected
|
790
|
-
rescue Exception => e
|
791
|
-
#p e
|
792
|
-
#retry
|
793
790
|
ensure
|
794
791
|
sleep 1 unless connected
|
795
792
|
end
|
@@ -819,11 +816,8 @@ class Calabash::Cucumber::Launcher
|
|
819
816
|
sess.request Net::HTTP::Get.new(ENV['CALABASH_VERSION_PATH'] || "version")
|
820
817
|
end
|
821
818
|
status = res.code
|
822
|
-
begin
|
823
|
-
http.finish if http and http.started?
|
824
|
-
rescue Exception => e
|
825
819
|
|
826
|
-
|
820
|
+
http.finish if http and http.started?
|
827
821
|
|
828
822
|
if status == '200'
|
829
823
|
version_body = JSON.parse(res.body)
|
@@ -76,7 +76,7 @@ module Calabash
|
|
76
76
|
# @param [String] version indicates when the feature was deprecated
|
77
77
|
# @param [String] msg deprecation message (possibly suggesting alternatives)
|
78
78
|
# @param [Symbol] type { :warn | :pending } - :pending will raise a
|
79
|
-
# cucumber pending
|
79
|
+
# cucumber pending error
|
80
80
|
# @return [void]
|
81
81
|
def _deprecated(version, msg, type)
|
82
82
|
allowed = [:pending, :warn]
|
@@ -108,4 +108,4 @@ module Calabash
|
|
108
108
|
|
109
109
|
end
|
110
110
|
end
|
111
|
-
end
|
111
|
+
end
|
@@ -3,10 +3,10 @@ module Calabash
|
|
3
3
|
|
4
4
|
# @!visibility public
|
5
5
|
# The Calabash iOS gem version.
|
6
|
-
VERSION = '0.14.2
|
6
|
+
VERSION = '0.14.2'
|
7
7
|
|
8
8
|
# @!visibility public
|
9
9
|
# The minimum required version of the Calabash embedded server.
|
10
|
-
MIN_SERVER_VERSION = '0.14.2
|
10
|
+
MIN_SERVER_VERSION = '0.14.2'
|
11
11
|
end
|
12
12
|
end
|
@@ -112,7 +112,7 @@ module Calabash
|
|
112
112
|
else
|
113
113
|
raise wait_error(msg)
|
114
114
|
end
|
115
|
-
rescue
|
115
|
+
rescue => e
|
116
116
|
handle_error_with_options(e, nil, screenshot_on_error)
|
117
117
|
end
|
118
118
|
end
|
@@ -212,16 +212,17 @@ module Calabash
|
|
212
212
|
# The same options as {Calabash::Cucumber::WaitHelpers::DEFAULT_OPTS} apply.
|
213
213
|
# @return [nil] when the condition is satisfied
|
214
214
|
# @raise [Calabash::Cucumber::WaitHelpers::WaitError] when the timeout is exceeded
|
215
|
-
def
|
215
|
+
def wait_for_element_does_not_exist(element_query, options={})
|
216
216
|
options[:timeout_message] = options[:timeout_message] || "Timeout waiting for element to not exist: #{element_query}"
|
217
217
|
wait_for(options) { element_does_not_exist(element_query) }
|
218
218
|
end
|
219
219
|
|
220
|
+
alias_method :wait_for_element_does_not_exists, :wait_for_element_does_not_exist
|
220
221
|
# Waits for one or more Calabash queries to all return empty results (typically a UI elements to disappear).
|
221
222
|
# Uses `wait_for`.
|
222
223
|
# @see #wait_for
|
223
224
|
# @see #wait_for_element_exists
|
224
|
-
# @see #
|
225
|
+
# @see #wait_for_element_does_not_exist
|
225
226
|
# @see Calabash::Cucumber::WaitHelpers::DEFAULT_OPTS
|
226
227
|
#
|
227
228
|
# @param [Array<String>] elements_arr an Array of Calabash queries to be empty (i.e. `element_does_not_exist(element_query)`)
|
@@ -288,8 +289,8 @@ module Calabash
|
|
288
289
|
else
|
289
290
|
raise wait_error(msg)
|
290
291
|
end
|
291
|
-
rescue
|
292
|
-
handle_error_with_options(e,nil, screenshot_on_error)
|
292
|
+
rescue => e
|
293
|
+
handle_error_with_options(e, nil, screenshot_on_error)
|
293
294
|
end
|
294
295
|
end
|
295
296
|
|
@@ -406,23 +407,26 @@ module Calabash
|
|
406
407
|
end
|
407
408
|
|
408
409
|
# @!visibility private
|
409
|
-
#
|
410
|
-
#
|
411
|
-
# @param [
|
410
|
+
# Raises an error by raising a error and conditionally takes a screenshot
|
411
|
+
# based on the value of +screenshot_on_error+.
|
412
|
+
# @param [RuntimeError,nil] error an error to raise
|
412
413
|
# @param [String,nil] timeout_message the message of the raise
|
413
414
|
# @param [Boolean] screenshot_on_error if true takes a screenshot before
|
414
415
|
# raising an error
|
415
416
|
# @return [nil]
|
416
|
-
# @raise
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
417
|
+
# @raise [StandardError] If `error`, then that kind of error is raised.
|
418
|
+
# Otherwise raise a RuntimeError.
|
419
|
+
def handle_error_with_options(error, timeout_message, screenshot_on_error)
|
420
|
+
msg = (timeout_message || error)
|
421
|
+
if error
|
422
|
+
error_class = error.class
|
423
|
+
else
|
424
|
+
error_class = RuntimeError
|
421
425
|
end
|
422
426
|
if screenshot_on_error
|
423
427
|
screenshot_and_raise msg
|
424
428
|
else
|
425
|
-
raise msg
|
429
|
+
raise error_class, msg
|
426
430
|
end
|
427
431
|
end
|
428
432
|
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.2
|
4
|
+
version: 0.14.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Krukow
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
requirements:
|
147
147
|
- - ">="
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
149
|
+
version: 1.3.3
|
150
150
|
- - "<"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '2.0'
|
@@ -156,7 +156,7 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.3.3
|
160
160
|
- - "<"
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: '2.0'
|
@@ -546,12 +546,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
546
546
|
version: '1.9'
|
547
547
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
548
548
|
requirements:
|
549
|
-
- - "
|
549
|
+
- - ">="
|
550
550
|
- !ruby/object:Gem::Version
|
551
|
-
version:
|
551
|
+
version: '0'
|
552
552
|
requirements: []
|
553
553
|
rubyforge_project:
|
554
|
-
rubygems_version: 2.
|
554
|
+
rubygems_version: 2.4.5
|
555
555
|
signing_key:
|
556
556
|
specification_version: 4
|
557
557
|
summary: Client for calabash-ios-server for automated functional testing on iOS
|