calabash 2.0.0.pre11 → 2.0.0.prelegacy
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -5
- data/bin/calabash +4 -3
- data/lib/calabash/android/adb.rb +37 -34
- data/lib/calabash/android/application.rb +1 -1
- data/lib/calabash/android/build/builder.rb +1 -1
- data/lib/calabash/android/build/java_keystore.rb +1 -1
- data/lib/calabash/android/build/resigner.rb +1 -1
- data/lib/calabash/android/device.rb +46 -204
- data/lib/calabash/android/environment.rb +1 -14
- data/lib/calabash/android/gestures.rb +22 -6
- data/lib/calabash/android/interactions.rb +17 -14
- data/lib/calabash/android/legacy.rb +141 -4
- data/lib/calabash/android/lib/.irbrc +1 -9
- data/lib/calabash/android/lib/AndroidManifest.xml +2 -23
- data/lib/calabash/android/lib/TestServer.apk +0 -0
- data/lib/calabash/android/life_cycle.rb +3 -3
- data/lib/calabash/android/orientation.rb +8 -8
- data/lib/calabash/android/physical_buttons.rb +16 -19
- data/lib/calabash/android/server.rb +1 -6
- data/lib/calabash/android/text.rb +12 -12
- data/lib/calabash/android.rb +26 -92
- data/lib/calabash/application.rb +0 -3
- data/lib/calabash/cli/generate.rb +18 -8
- data/lib/calabash/cli/helpers.rb +9 -4
- data/lib/calabash/cli/run.rb +1 -1
- data/lib/calabash/console_helpers.rb +11 -179
- data/lib/calabash/device.rb +19 -4
- data/lib/calabash/gestures.rb +198 -292
- data/lib/calabash/http/retriable_client.rb +3 -18
- data/lib/calabash/http.rb +0 -1
- data/lib/calabash/interactions.rb +40 -3
- data/lib/calabash/ios/conditions.rb +1 -1
- data/lib/calabash/ios/console_helpers.rb +2 -2
- data/lib/calabash/ios/date_picker.rb +8 -10
- data/lib/calabash/ios/device/device_implementation.rb +21 -9
- data/lib/calabash/ios/device/gestures_mixin.rb +55 -53
- data/lib/calabash/ios/device/keyboard_mixin.rb +0 -21
- data/lib/calabash/ios/device/rotation_mixin.rb +65 -3
- data/lib/calabash/ios/device/text_mixin.rb +21 -0
- data/lib/calabash/ios/device.rb +1 -0
- data/lib/calabash/ios/gestures.rb +90 -24
- data/lib/calabash/ios/interactions.rb +6 -1
- data/lib/calabash/ios/lib/.irbrc +2 -9
- data/lib/calabash/ios/orientation.rb +8 -8
- data/lib/calabash/ios/runtime.rb +14 -14
- data/lib/calabash/ios/scroll.rb +17 -25
- data/lib/calabash/ios/slider.rb +18 -11
- data/lib/calabash/ios/text.rb +74 -20
- data/lib/calabash/ios/uia.rb +1 -1
- data/lib/calabash/ios.rb +16 -77
- data/lib/calabash/legacy.rb +6 -9
- data/lib/calabash/lib/skeleton/{Gemfile.skeleton → Gemfile} +0 -0
- data/lib/calabash/lib/skeleton/config/{cucumber.yml.skeleton → cucumber.yml} +0 -0
- data/lib/calabash/lib/skeleton/features/{sample.feature.skeleton → sample.feature} +0 -0
- data/lib/calabash/lib/skeleton/features/step_definitions/{sample_steps.rb.skeleton → calabash_steps.rb} +8 -8
- data/lib/calabash/lib/skeleton/features/support/{dry_run.rb.skeleton → dry_run.rb} +5 -2
- data/lib/calabash/lib/skeleton/features/support/{env.rb.skeleton → env.rb} +8 -2
- data/lib/calabash/lib/skeleton/features/support/hooks.rb +83 -0
- data/lib/calabash/life_cycle.rb +8 -16
- data/lib/calabash/location.rb +15 -14
- data/lib/calabash/orientation.rb +8 -8
- data/lib/calabash/page.rb +4 -1
- data/lib/calabash/screenshot.rb +3 -3
- data/lib/calabash/text.rb +19 -31
- data/lib/calabash/utility.rb +8 -41
- data/lib/calabash/version.rb +1 -1
- data/lib/calabash/wait.rb +192 -177
- data/lib/calabash.rb +10 -53
- metadata +32 -43
- data/lib/calabash/android/device/helper_application.rb +0 -95
- data/lib/calabash/android/lib/HelperApplication.apk +0 -0
- data/lib/calabash/android/lib/HelperApplicationTestServer.apk +0 -0
- data/lib/calabash/android/web.rb +0 -12
- data/lib/calabash/http/forwarding_client.rb +0 -23
- data/lib/calabash/internal.rb +0 -48
- data/lib/calabash/ios/automator/automator.rb +0 -217
- data/lib/calabash/ios/automator/coordinates.rb +0 -37
- data/lib/calabash/ios/automator/device_agent.rb +0 -379
- data/lib/calabash/ios/automator.rb +0 -9
- data/lib/calabash/ios/legacy.rb +0 -6
- data/lib/calabash/ios/web.rb +0 -10
- data/lib/calabash/lib/skeleton/features/support/hooks.rb.skeleton +0 -34
- data/lib/calabash/retry.rb +0 -33
- data/lib/calabash/stubs.rb +0 -21
- data/lib/calabash/web.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9918df9dac58e62b8dd1f98df5e15bc1397e45c
|
4
|
+
data.tar.gz: da8b89437c9d0081fd3e95ea87f6f9fdb622a816
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbf27f752dabd23e53ed70a7562314d6affe0cb14e770d46e97d1c59c4c5836f58c26cdb75cb23ebd38ce50a3e662e9aac7edb6a334dd764169d49d0f80ad0db
|
7
|
+
data.tar.gz: fd52b4f6b2d24111cf62d015a833d9eded491b5dd926fa72c114eaf7a2c83598865803e7ddaa960a164db0fd42115c786f862765c3039071ad2a8852c9bb6aee
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
## Calabash
|
6
6
|
|
7
|
-
Automated Acceptance Testing for Mobile Apps
|
7
|
+
Automated Acceptance Testing for Mobile Apps
|
8
8
|
|
9
9
|
## Rake
|
10
10
|
|
@@ -29,13 +29,25 @@ rake yard:publish # Generate and publish docs
|
|
29
29
|
|
30
30
|
```
|
31
31
|
$ be rake unit # All unit tests.
|
32
|
+
$ be rake spec # All tests. Launches iOS Simulators, etc.
|
32
33
|
$ be guard # Run unit tests as you develop.
|
33
34
|
```
|
34
35
|
|
35
|
-
###
|
36
|
+
### Cucumber Android
|
37
|
+
|
38
|
+
**NOTE** If you find you cannot launch on Android, be sure you run the
|
39
|
+
`copy\_repos` and `changing\_old\_files.sh` script.
|
36
40
|
|
37
41
|
```
|
38
|
-
$
|
39
|
-
$ rake
|
40
|
-
$
|
42
|
+
$ bundle update
|
43
|
+
$ rake android:build
|
44
|
+
$ cd cucumber/android
|
45
|
+
$ be calabash resign ../../spec/resources/android/xtc-android-sample.apk
|
46
|
+
$ be calabash build ../../spec/resources/android/xtc-android-sample.apk
|
47
|
+
$ be cucumber
|
41
48
|
```
|
49
|
+
|
50
|
+
### Cucumber iOS
|
51
|
+
|
52
|
+
See `cucumber/ios/README.md`.
|
53
|
+
|
data/bin/calabash
CHANGED
@@ -11,6 +11,7 @@ module Calabash
|
|
11
11
|
include Calabash::CLI::Console
|
12
12
|
include Calabash::CLI::Generate
|
13
13
|
include Calabash::CLI::Resign
|
14
|
+
include Calabash::CLI::Run
|
14
15
|
include Calabash::CLI::SetupKeystore
|
15
16
|
|
16
17
|
def initialize(arguments)
|
@@ -68,12 +69,12 @@ module Calabash
|
|
68
69
|
parse_resign_arguments!
|
69
70
|
when 'console'
|
70
71
|
parse_console_arguments!
|
71
|
-
when 'generate
|
72
|
+
when 'generate'
|
72
73
|
parse_generate_arguments!
|
74
|
+
when 'run'
|
75
|
+
parse_run_arguments!
|
73
76
|
when 'setup-keystore'
|
74
77
|
parse_setup_keystore_arguments!
|
75
|
-
when 'used-bundler' # For testing purposes
|
76
|
-
puts Calabash::Utility.used_bundler?
|
77
78
|
when 'help'
|
78
79
|
argument = @arguments.shift
|
79
80
|
|
data/lib/calabash/android/adb.rb
CHANGED
@@ -66,10 +66,20 @@ module Calabash
|
|
66
66
|
# @!visibility private
|
67
67
|
DAEMON_STARTED_MESSAGE = "* daemon not running. starting it now on port 5037 *\n* daemon started successfully *\n"
|
68
68
|
|
69
|
-
# @!visibility private
|
70
69
|
def self.command(*cmd, **args)
|
71
70
|
Logger.debug("ADB Command: #{cmd.join(', ')}")
|
72
71
|
Logger.debug("ADB input: #{args[:input]}")
|
72
|
+
|
73
|
+
cmd_s = "#{Environment.adb_path} #{cmd.join(' ')}"
|
74
|
+
|
75
|
+
Logger.debug("Going to execute: #{cmd_s}")
|
76
|
+
`#{cmd_s}`
|
77
|
+
end
|
78
|
+
|
79
|
+
# @!visibility private
|
80
|
+
def self.old_command(*cmd, **args)
|
81
|
+
Logger.debug("ADB Command: #{cmd.join(', ')}")
|
82
|
+
Logger.debug("ADB input: #{args[:input]}")
|
73
83
|
stderr = nil
|
74
84
|
stdout = nil
|
75
85
|
exit_code = nil
|
@@ -142,11 +152,16 @@ module Calabash
|
|
142
152
|
ADB.command(*cmd, args)
|
143
153
|
end
|
144
154
|
|
155
|
+
# @!visibility private
|
156
|
+
def shell(shell_cmd, options={})
|
157
|
+
command('shell', shell_cmd)
|
158
|
+
end
|
159
|
+
|
145
160
|
# @!visibility private
|
146
161
|
END_STRING = '__CAL_END__'
|
147
162
|
|
148
163
|
# @!visibility private
|
149
|
-
def
|
164
|
+
def old_shell(shell_cmd, options={})
|
150
165
|
if shell_cmd.nil? || shell_cmd.empty?
|
151
166
|
raise ArgumentError, "Invalid shell command '#{shell_cmd}'"
|
152
167
|
end
|
@@ -182,40 +197,34 @@ module Calabash
|
|
182
197
|
# exit_code_s =
|
183
198
|
# [6] "0\r\n"
|
184
199
|
|
185
|
-
|
186
|
-
index = result.lines.index {|line| line.start_with?(shell_name)}
|
200
|
+
index = result.lines.index {|line| line.start_with?(shell_name)}
|
187
201
|
|
188
|
-
|
189
|
-
|
190
|
-
|
202
|
+
if index.nil?
|
203
|
+
raise ADBCallError.new("Could not parse output #{ADB.dot_string(result, 100)}", result)
|
204
|
+
end
|
191
205
|
|
192
|
-
|
193
|
-
|
206
|
+
# Remove the commands
|
207
|
+
out = result.lines[index+1..-1]
|
194
208
|
|
195
|
-
|
196
|
-
|
209
|
+
last_line = out.last
|
210
|
+
end_index = nil
|
197
211
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
end
|
212
|
+
15.times do |i|
|
213
|
+
if last_line[-(END_STRING.length+i-1)..-i] == END_STRING
|
214
|
+
end_index = -i
|
215
|
+
break
|
203
216
|
end
|
217
|
+
end
|
204
218
|
|
205
|
-
|
206
|
-
|
207
|
-
|
219
|
+
if end_index.nil?
|
220
|
+
raise ADBCallError.new("Could not parse output #{ADB.dot_string(result, 100)}", result)
|
221
|
+
end
|
208
222
|
|
209
|
-
|
210
|
-
|
223
|
+
# Get the result from the command
|
224
|
+
command_result = out[0..-2].join + last_line[0..(end_index - END_STRING.length)]
|
211
225
|
|
212
|
-
|
213
|
-
|
214
|
-
else # Some devices (like Android N) have started just giving us the result without all the spam
|
215
|
-
out = result.lines
|
216
|
-
command_result = out[0..-2].join
|
217
|
-
exit_code_s = out[-1][END_STRING.length..-1]
|
218
|
-
end
|
226
|
+
# Get the exit code
|
227
|
+
exit_code_s = out[-1][end_index+1..-1]
|
219
228
|
|
220
229
|
unless options[:no_exit_code_check]
|
221
230
|
unless exit_code_s.to_i.to_s == exit_code_s.chomp
|
@@ -277,12 +286,6 @@ module Calabash
|
|
277
286
|
|
278
287
|
#result.lines.index {|line| !line.start_with?('echo')}
|
279
288
|
|
280
|
-
# Some devices (like Android N) have started just giving us the results
|
281
|
-
if result.strip == "test"
|
282
|
-
@shell_name = ""
|
283
|
-
return @shell_name
|
284
|
-
end
|
285
|
-
|
286
289
|
# "shell@hammerhead:/ $ echo \"foo\"; exit 0\r\r\n"
|
287
290
|
shell_name_line = result.lines[-2]
|
288
291
|
|
@@ -29,7 +29,7 @@ module Calabash
|
|
29
29
|
|
30
30
|
unless File.exist?(test_server_path)
|
31
31
|
Logger.error "Test-server '#{test_server_path}' does not exist."
|
32
|
-
Logger.error "Build it using: '
|
32
|
+
Logger.error "Build it using: 'calabash build \"#{application_path}\"'"
|
33
33
|
Logger.error ''
|
34
34
|
raise "Test-server '#{test_server_path}' does not exist."
|
35
35
|
end
|
@@ -38,7 +38,7 @@ module Calabash
|
|
38
38
|
end
|
39
39
|
@logger.log ""
|
40
40
|
@logger.log "You can resign the app with #{keystores.first.location} by running:
|
41
|
-
|
41
|
+
calabash resign \"#{@application_path}\""
|
42
42
|
|
43
43
|
@logger.log ""
|
44
44
|
@logger.log "Notice that resigning an app might break some functionality."
|
@@ -155,7 +155,7 @@ module Calabash
|
|
155
155
|
begin
|
156
156
|
keystore = JSON.parse(IO.read(CALABASH_KEYSTORE_SETTINGS_FILENAME))
|
157
157
|
rescue JSON::ParserError => e
|
158
|
-
Logger.error(
|
158
|
+
Logger.error('Could not parse keystore settings. Please run calabash setup-keystore again')
|
159
159
|
|
160
160
|
raise e
|
161
161
|
end
|
@@ -67,7 +67,7 @@ module Calabash
|
|
67
67
|
java_keystore = JavaKeystore.get_keystores.first
|
68
68
|
|
69
69
|
if java_keystore.nil?
|
70
|
-
raise
|
70
|
+
raise 'No keystores found. You can specify the keystore location and credentials using calabash setup-keystore'
|
71
71
|
end
|
72
72
|
|
73
73
|
java_keystore.sign_apk(app_path, dest_path)
|