calabash 1.9.9.pre2 → 1.9.9.pre3
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/README.md +19 -0
- data/lib/calabash.rb +4 -2
- data/lib/calabash/android/build/java_keystore.rb +1 -0
- data/lib/calabash/android/console_helpers.rb +1 -0
- data/lib/calabash/android/defaults.rb +23 -13
- data/lib/calabash/android/device.rb +84 -19
- data/lib/calabash/android/environment.rb +2 -0
- data/lib/calabash/android/gestures.rb +4 -3
- data/lib/calabash/android/interactions.rb +1 -0
- data/lib/calabash/android/lib/.irbrc +61 -48
- data/lib/calabash/android/lib/TestServer.apk +0 -0
- data/lib/calabash/android/life_cycle.rb +3 -2
- data/lib/calabash/android/orientation.rb +1 -0
- data/lib/calabash/android/physical_buttons.rb +3 -1
- data/lib/calabash/android/screenshot.rb +0 -1
- data/lib/calabash/android/text.rb +1 -0
- data/lib/calabash/application.rb +20 -1
- data/lib/calabash/cli/generate.rb +10 -2
- data/lib/calabash/console_helpers.rb +101 -13
- data/lib/calabash/defaults.rb +36 -3
- data/lib/calabash/device.rb +28 -3
- data/lib/calabash/gestures.rb +12 -12
- data/lib/calabash/http/request.rb +1 -0
- data/lib/calabash/http/retriable_client.rb +1 -0
- data/lib/calabash/interactions.rb +2 -1
- data/lib/calabash/ios.rb +2 -0
- data/lib/calabash/ios/conditions.rb +1 -0
- data/lib/calabash/ios/console_helpers.rb +1 -0
- data/lib/calabash/ios/defaults.rb +32 -17
- data/lib/calabash/ios/device/device_implementation.rb +5 -1
- data/lib/calabash/ios/device/gestures_mixin.rb +27 -7
- data/lib/calabash/ios/device/rotation_mixin.rb +2 -2
- data/lib/calabash/ios/device/routes/error.rb +1 -0
- data/lib/calabash/ios/device/routes/playback_route_mixin.rb +1 -1
- data/lib/calabash/ios/device/routes/uia_route_mixin.rb +1 -1
- data/lib/calabash/ios/device/uia_mixin.rb +1 -1
- data/lib/calabash/ios/gestures.rb +107 -0
- data/lib/calabash/ios/interactions.rb +1 -0
- data/lib/calabash/ios/lib/.irbrc +61 -47
- data/lib/calabash/ios/orientation.rb +1 -0
- data/lib/calabash/ios/runtime.rb +1 -0
- data/lib/calabash/ios/scroll.rb +7 -7
- data/lib/calabash/ios/text.rb +3 -0
- data/lib/calabash/ios/uia.rb +1 -0
- data/lib/calabash/lib/skeleton/.gitignore +19 -0
- data/lib/calabash/lib/skeleton/Gemfile +5 -0
- data/lib/calabash/life_cycle.rb +3 -2
- data/lib/calabash/location.rb +5 -6
- data/lib/calabash/logger.rb +1 -0
- data/lib/calabash/orientation.rb +1 -0
- data/lib/calabash/page.rb +1 -0
- data/lib/calabash/screenshot.rb +1 -0
- data/lib/calabash/server.rb +1 -0
- data/lib/calabash/text.rb +3 -2
- data/lib/calabash/utility.rb +2 -1
- data/lib/calabash/version.rb +1 -1
- data/lib/calabash/wait.rb +1 -0
- metadata +114 -114
- data/lib/calabash/android/cucumber.rb +0 -3
- data/lib/calabash/android/scroll.rb +0 -5
- data/lib/calabash/patch/run_loop.rb +0 -90
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c93bdf73649617b8de5fe8e2e34fcf03a2f31f2e
|
|
4
|
+
data.tar.gz: 187f1e60ca6bf8005efa47ee03a9f6896c169599
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: de02fd0467b70c2836fcca4859b803537365bf69ef6ae9c7f70f7f153ee877ecbaa1ec69a5941de2ba816874e9b9ad131af9b79642aef88c17a505d73df15af0
|
|
7
|
+
data.tar.gz: cd2a3b11e0ce8dcbc31236346f483440cfd61cdb00b12124ccf9c8922ee0373f5f940d2ea3e902308fca6f47c4bb8405816d5b9c238a2ac3c5ab6ad67e38c438
|
data/README.md
CHANGED
|
@@ -18,6 +18,25 @@ $ ./changing_old_files.sh
|
|
|
18
18
|
|
|
19
19
|
Before Calabash is ready to be released, the old gems will exist outside version control. To make a change run the script `copy_repos.sh`. This will copy the Android and iOS repositories and extract them as files in the directory `old`. Then execute `changing_old_files.sh`. This script will move old files into their new directories. To make changes to "old files" e.g. move them, add your steps to `changing_old_files.sh` and execute it. To make code changes to old files, change them locally first to ensure they work. Then copy the change to the branch `united` on either iOS or Android. Commit the changes and push them upstream. `copy_repos.sh` will always download the newest files.
|
|
20
20
|
|
|
21
|
+
## Rake
|
|
22
|
+
|
|
23
|
+
**TODO** Release instructions for Android and iOS.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
$ rake -T
|
|
27
|
+
rake android:build # Build the Android test server
|
|
28
|
+
rake build # Build calabash-1.9.9.pre2.gem into the pkg directory
|
|
29
|
+
rake ctags # Generate ctags in ./git/tags
|
|
30
|
+
rake cucumber:android # Run Android cucumber tests
|
|
31
|
+
rake cucumber:ios # Run iOS cucumber tests
|
|
32
|
+
rake install # Build and install calabash-1.9.9.pre2.gem into system gems
|
|
33
|
+
rake release # Create tag v1.9.9.pre2 and build and push calabash-1.9.9.pre2.gem to Rubygems
|
|
34
|
+
rake spec # Run RSpec code examples
|
|
35
|
+
rake unit # Run RSpec code examples
|
|
36
|
+
rake yard # Generate YARD Documentation
|
|
37
|
+
rake yard:publish # Generate and publish docs
|
|
38
|
+
```
|
|
39
|
+
|
|
21
40
|
## Testing
|
|
22
41
|
|
|
23
42
|
### rspec
|
data/lib/calabash.rb
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
# It is developed and maintained by Xamarin and is released under the Eclipse
|
|
5
5
|
# Public License.
|
|
6
6
|
module Calabash
|
|
7
|
-
require 'calabash/patch/run_loop'
|
|
8
7
|
require 'calabash/version'
|
|
9
8
|
require 'calabash/environment'
|
|
10
9
|
require 'calabash/logger'
|
|
@@ -62,7 +61,7 @@ module Calabash
|
|
|
62
61
|
# page(LoginPage).method
|
|
63
62
|
# end
|
|
64
63
|
#
|
|
65
|
-
# @param [Class] The page to instantiate
|
|
64
|
+
# @param [Class] page_class The page to instantiate
|
|
66
65
|
# @return [Calabash::Page] An instance of the page class
|
|
67
66
|
def page(page_class)
|
|
68
67
|
if android?
|
|
@@ -98,14 +97,17 @@ module Calabash
|
|
|
98
97
|
end
|
|
99
98
|
end
|
|
100
99
|
|
|
100
|
+
# Is the app under test running on Android?
|
|
101
101
|
def android?
|
|
102
102
|
Android.const_defined?(:Device) && Device.default.is_a?(Android::Device)
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
+
# Is the app under test running on iOS?
|
|
105
106
|
def ios?
|
|
106
107
|
IOS.const_defined?(:Device) && Device.default.is_a?(IOS::Device)
|
|
107
108
|
end
|
|
108
109
|
|
|
110
|
+
# @!visibility private
|
|
109
111
|
def self.new_embed_method!(method)
|
|
110
112
|
EmbeddingContext.new_embed_method(method)
|
|
111
113
|
end
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
module Calabash
|
|
2
2
|
module Android
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
module Defaults
|
|
4
|
+
# Sets up the default device and the default application based on the
|
|
5
|
+
# environment.
|
|
6
|
+
#
|
|
7
|
+
# @see Calabash::Android::Defaults#setup_default_application!
|
|
8
|
+
# @see Calabash::Android::Defaults#setup_default_device!
|
|
9
|
+
# @see Calabash::Environment
|
|
10
|
+
def setup_defaults!
|
|
11
|
+
setup_default_application!
|
|
12
|
+
setup_default_device!
|
|
13
|
+
end
|
|
7
14
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
# Sets up the default application based on the environment.
|
|
16
|
+
def setup_default_application!
|
|
17
|
+
# Setup the default application
|
|
18
|
+
Calabash.default_application = Application.default_from_environment
|
|
19
|
+
end
|
|
12
20
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
# Sets up the default device based on the environment.
|
|
22
|
+
def setup_default_device!
|
|
23
|
+
# Setup the default device
|
|
24
|
+
identifier = Device.default_serial
|
|
25
|
+
server = Server.default
|
|
17
26
|
|
|
18
|
-
|
|
27
|
+
Calabash.default_device = Device.new(identifier, server)
|
|
28
|
+
end
|
|
19
29
|
end
|
|
20
30
|
end
|
|
21
31
|
end
|
|
@@ -3,6 +3,7 @@ require 'json'
|
|
|
3
3
|
module Calabash
|
|
4
4
|
module Android
|
|
5
5
|
# A representation of a Calabash Android device.
|
|
6
|
+
# @!visibility private
|
|
6
7
|
class Device < ::Calabash::Device
|
|
7
8
|
attr_reader :adb
|
|
8
9
|
|
|
@@ -15,6 +16,12 @@ module Calabash
|
|
|
15
16
|
end
|
|
16
17
|
end
|
|
17
18
|
|
|
19
|
+
# @!visibility private
|
|
20
|
+
def change_server(new_server)
|
|
21
|
+
super(new_server)
|
|
22
|
+
port_forward(new_server.endpoint.port, new_server.test_server_port)
|
|
23
|
+
end
|
|
24
|
+
|
|
18
25
|
def self.default_serial
|
|
19
26
|
serials = list_serials
|
|
20
27
|
|
|
@@ -156,7 +163,7 @@ module Calabash
|
|
|
156
163
|
raise "mapping \"#{query}\" with \"#{method_name}\" failed because: #{result['reason']}\n#{result['details']}"
|
|
157
164
|
end
|
|
158
165
|
|
|
159
|
-
result['results']
|
|
166
|
+
Calabash::QueryResult.create(result['results'], query)
|
|
160
167
|
end
|
|
161
168
|
|
|
162
169
|
def perform_action(action, *arguments)
|
|
@@ -350,18 +357,17 @@ module Calabash
|
|
|
350
357
|
"/data/data/#{application.test_server.identifier}/files/calabash_finished.out"
|
|
351
358
|
end
|
|
352
359
|
|
|
353
|
-
def
|
|
354
|
-
cmd = "ls #{
|
|
360
|
+
def adb_file_exists?(file)
|
|
361
|
+
cmd = "ls #{file}"
|
|
362
|
+
adb.shell(cmd, no_exit_code_check: true).chomp == file
|
|
363
|
+
end
|
|
355
364
|
|
|
356
|
-
|
|
357
|
-
|
|
365
|
+
def calabash_server_failure_exists?(application)
|
|
366
|
+
adb_file_exists?(calabash_server_failure_file_path(application))
|
|
358
367
|
end
|
|
359
368
|
|
|
360
369
|
def calabash_server_finished_exists?(application)
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
adb.shell(cmd, no_exit_code_check: true).chomp ==
|
|
364
|
-
calabash_server_finished_file_path(application)
|
|
370
|
+
adb_file_exists?(calabash_server_finished_file_path(application))
|
|
365
371
|
end
|
|
366
372
|
|
|
367
373
|
def read_calabash_sever_failure(application)
|
|
@@ -406,6 +412,20 @@ module Calabash
|
|
|
406
412
|
raise "The test-server '#{application.test_server.identifier}' is not installed"
|
|
407
413
|
end
|
|
408
414
|
|
|
415
|
+
installed_app = installed_apps.find{|app| app[:package] == application.identifier}
|
|
416
|
+
installed_app_md5_checksum = md5_checksum(installed_app[:path])
|
|
417
|
+
|
|
418
|
+
if application.md5_checksum != installed_app_md5_checksum
|
|
419
|
+
raise "The specified app is not the same as the installed app (#{application.md5_checksum} != #{installed_app_md5_checksum})."
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
installed_test_server = installed_apps.find{|app| app[:package] == application.test_server.identifier}
|
|
423
|
+
installed_test_server_md5_checksum = md5_checksum(installed_test_server[:path])
|
|
424
|
+
|
|
425
|
+
if application.test_server.md5_checksum != installed_test_server_md5_checksum
|
|
426
|
+
raise "The specified test-server is not the same as the installed test-server (#{application.test_server.md5_checksum} != #{installed_test_server_md5_checksum})."
|
|
427
|
+
end
|
|
428
|
+
|
|
409
429
|
ensure_screen_on
|
|
410
430
|
|
|
411
431
|
# Clear any old error reports
|
|
@@ -536,6 +556,10 @@ module Calabash
|
|
|
536
556
|
raise ArgumentError, "No test server set for '#{application}'"
|
|
537
557
|
end
|
|
538
558
|
|
|
559
|
+
unless app_installed?(application.identifier)
|
|
560
|
+
raise "The application #{application.identifier}' is not installed"
|
|
561
|
+
end
|
|
562
|
+
|
|
539
563
|
unless app_installed?(application.test_server.identifier)
|
|
540
564
|
raise "The test-server '#{application.test_server.identifier}' is not installed"
|
|
541
565
|
end
|
|
@@ -746,7 +770,7 @@ module Calabash
|
|
|
746
770
|
gesture = Gestures::Gesture.double_tap(gesture_options)
|
|
747
771
|
|
|
748
772
|
execute_gesture(Gestures::Gesture.with_parameters(gesture,
|
|
749
|
-
|
|
773
|
+
query: query,
|
|
750
774
|
timeout: options[:timeout]))
|
|
751
775
|
end
|
|
752
776
|
|
|
@@ -785,7 +809,7 @@ module Calabash
|
|
|
785
809
|
gesture = Gestures::Gesture.generate_swipe(from, to, time: duration)
|
|
786
810
|
|
|
787
811
|
execute_gesture(Gestures::Gesture.with_parameters(gesture,
|
|
788
|
-
|
|
812
|
+
query: query,
|
|
789
813
|
timeout: options[:timeout]))
|
|
790
814
|
end
|
|
791
815
|
|
|
@@ -796,7 +820,7 @@ module Calabash
|
|
|
796
820
|
gesture.gestures.first.touches[1].query = query_to
|
|
797
821
|
|
|
798
822
|
execute_gesture(Gestures::Gesture.with_parameters(gesture,
|
|
799
|
-
|
|
823
|
+
query: query_to,
|
|
800
824
|
timeout: options[:timeout]))
|
|
801
825
|
end
|
|
802
826
|
|
|
@@ -813,7 +837,7 @@ module Calabash
|
|
|
813
837
|
gesture = Gestures::Gesture.generate_swipe(from, to, time: duration, flick: true)
|
|
814
838
|
|
|
815
839
|
execute_gesture(Gestures::Gesture.with_parameters(gesture,
|
|
816
|
-
|
|
840
|
+
query: query,
|
|
817
841
|
timeout: options[:timeout]))
|
|
818
842
|
end
|
|
819
843
|
|
|
@@ -822,7 +846,7 @@ module Calabash
|
|
|
822
846
|
gesture = Gestures::Gesture.pinch(direction)
|
|
823
847
|
|
|
824
848
|
execute_gesture(Gestures::Gesture.with_parameters(gesture,
|
|
825
|
-
|
|
849
|
+
query: query,
|
|
826
850
|
timeout: options[:timeout]))
|
|
827
851
|
end
|
|
828
852
|
|
|
@@ -842,15 +866,56 @@ module Calabash
|
|
|
842
866
|
|
|
843
867
|
# @!visibility private
|
|
844
868
|
def adb_install_app(application)
|
|
869
|
+
# Because of a bug in the latest version of ADB
|
|
870
|
+
# https://github.com/android/platform_system_core/blob/0f91887868e51de67bdf9aedc97fbcb044dc1969/adb/commandline.cpp#L1466
|
|
871
|
+
# ADB now uses rm -f ... to remove the temporary application on the
|
|
872
|
+
# device, but not all devices (below a certain OS) supports this flag.
|
|
873
|
+
# The user will be unable to install the app and instead receive:
|
|
874
|
+
# RuntimeError: Could not install app 'com.xamarin.xtcandroidsample.test': rm failed for -f, No such file or directory
|
|
875
|
+
# We have rewritten the way adb handles app installation. It's a 3-step
|
|
876
|
+
# procedure:
|
|
877
|
+
# - Push the app binary to /data/local/tmp
|
|
878
|
+
# - Install the app binary using pm
|
|
879
|
+
# - Remove the temporary apk.
|
|
845
880
|
@logger.log "Installing #{application.path}"
|
|
846
|
-
result = adb.command('install' , '-r', application.path, timeout: 60).lines.last
|
|
847
881
|
|
|
848
|
-
|
|
849
|
-
|
|
882
|
+
tmp_path = "/data/local/tmp/#{File.basename(application.path)}"
|
|
883
|
+
|
|
884
|
+
begin
|
|
885
|
+
adb.command('push', application.path, tmp_path, timeout: 60)
|
|
886
|
+
rescue ADB::ADBCallError => e
|
|
887
|
+
raise "Failed to push the application to the device storage: '#{e.message}'"
|
|
888
|
+
end
|
|
889
|
+
|
|
890
|
+
begin
|
|
891
|
+
result = nil
|
|
892
|
+
|
|
893
|
+
begin
|
|
894
|
+
result = adb.shell("pm install -r #{tmp_path}", timeout: 60)
|
|
895
|
+
rescue ADB::ADBCallError => e
|
|
896
|
+
raise "Failed to install the application on device: '#{e.message}'"
|
|
897
|
+
end
|
|
898
|
+
|
|
899
|
+
if result.lines.last.downcase.chomp != 'success'
|
|
900
|
+
raise "Could not install app '#{application.identifier}': #{result.chomp}"
|
|
901
|
+
end
|
|
902
|
+
|
|
903
|
+
unless installed_packages.include?(application.identifier)
|
|
904
|
+
raise "App '#{application.identifier}' was not installed"
|
|
905
|
+
end
|
|
906
|
+
rescue => e
|
|
907
|
+
begin
|
|
908
|
+
adb.shell("rm #{tmp_path}")
|
|
909
|
+
rescue ADB::ADBCallError => _
|
|
910
|
+
end
|
|
911
|
+
|
|
912
|
+
raise e
|
|
850
913
|
end
|
|
851
914
|
|
|
852
|
-
|
|
853
|
-
|
|
915
|
+
begin
|
|
916
|
+
adb.shell("rm #{tmp_path}")
|
|
917
|
+
rescue ADB::ADBCallError => e
|
|
918
|
+
raise "Failed to remove the tmp apk from device: #{e.message}"
|
|
854
919
|
end
|
|
855
920
|
end
|
|
856
921
|
|
|
@@ -2,6 +2,7 @@ require 'json'
|
|
|
2
2
|
|
|
3
3
|
module Calabash
|
|
4
4
|
module Android
|
|
5
|
+
# @!visibility private
|
|
5
6
|
module Gestures
|
|
6
7
|
class MultiTouchGesture
|
|
7
8
|
attr_reader :gestures
|
|
@@ -344,12 +345,12 @@ module Calabash
|
|
|
344
345
|
flick("* id:'content'", from, to, options)
|
|
345
346
|
end
|
|
346
347
|
|
|
347
|
-
#
|
|
348
|
+
# @!visibility private
|
|
348
349
|
def _pinch_screen(direction, options={})
|
|
349
350
|
Device.default.pinch(direction, "* id:'content'", options)
|
|
350
351
|
end
|
|
351
352
|
|
|
352
|
-
#
|
|
353
|
+
# @!visibility private
|
|
353
354
|
def _pinch_to_zoom(direction, query, options={})
|
|
354
355
|
if direction == :out
|
|
355
356
|
Device.default.pinch(:in, query, options)
|
|
@@ -360,7 +361,7 @@ module Calabash
|
|
|
360
361
|
end
|
|
361
362
|
end
|
|
362
363
|
|
|
363
|
-
#
|
|
364
|
+
# @!visibility private
|
|
364
365
|
def _pinch_screen_to_zoom(direction, options={})
|
|
365
366
|
_pinch_to_zoom(direction, "* id:'content'", options)
|
|
366
367
|
end
|
|
@@ -1,50 +1,63 @@
|
|
|
1
|
+
require 'irb/completion'
|
|
2
|
+
require 'irb/ext/save-history'
|
|
3
|
+
|
|
4
|
+
IRB.conf[:SAVE_HISTORY] = 100
|
|
5
|
+
IRB.conf[:HISTORY_FILE] = '.irb-history'
|
|
6
|
+
|
|
7
|
+
ARGV.concat [ '--readline',
|
|
8
|
+
'--prompt-mode',
|
|
9
|
+
'simple']
|
|
10
|
+
|
|
11
|
+
begin
|
|
12
|
+
require 'pry'
|
|
13
|
+
Pry.config.history.file = '.pry-history'
|
|
14
|
+
require 'pry-nav'
|
|
15
|
+
rescue LoadError => _
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
begin
|
|
20
|
+
require 'awesome_print'
|
|
21
|
+
AwesomePrint.irb!
|
|
22
|
+
rescue LoadError => e
|
|
23
|
+
msg = ["Caught a LoadError: could not load 'awesome_print'",
|
|
24
|
+
"#{e}",
|
|
25
|
+
'',
|
|
26
|
+
'Use bundler (recommended) or uninstall awesome_print.',
|
|
27
|
+
'',
|
|
28
|
+
'# Use bundler (recommended)',
|
|
29
|
+
'$ bundle update',
|
|
30
|
+
'$ bundle exec calabash console [path to apk]',
|
|
31
|
+
'',
|
|
32
|
+
'# Uninstall',
|
|
33
|
+
'$ gem update --system',
|
|
34
|
+
'$ gem uninstall -Vax --force --no-abort-on-dependent awesome_print']
|
|
35
|
+
puts msg
|
|
36
|
+
exit(1)
|
|
37
|
+
end
|
|
38
|
+
|
|
1
39
|
begin
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
puts msg
|
|
21
|
-
exit(1)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
AwesomePrint.irb!
|
|
25
|
-
|
|
26
|
-
ARGV.concat [ '--readline',
|
|
27
|
-
'--prompt-mode',
|
|
28
|
-
'simple']
|
|
29
|
-
|
|
30
|
-
# 50 entries in the list
|
|
31
|
-
IRB.conf[:SAVE_HISTORY] = 50
|
|
32
|
-
|
|
33
|
-
# Store results in home directory with specified file name
|
|
34
|
-
IRB.conf[:HISTORY_FILE] = '.irb-history'
|
|
35
|
-
|
|
36
|
-
require 'calabash/android'
|
|
37
|
-
|
|
38
|
-
extend Calabash::Android
|
|
39
|
-
extend Calabash::ConsoleHelpers
|
|
40
|
-
|
|
41
|
-
Calabash::Android.setup_defaults!
|
|
42
|
-
|
|
43
|
-
Calabash.new_embed_method!(lambda {|*_| Calabash::Logger.info 'Embed is not available in the console.'})
|
|
44
|
-
Calabash::Screenshot.screenshot_directory_prefix = 'console_'
|
|
40
|
+
require 'calabash/android'
|
|
41
|
+
|
|
42
|
+
extend Calabash::Android
|
|
43
|
+
extend Calabash::ConsoleHelpers
|
|
44
|
+
|
|
45
|
+
Calabash::Android.setup_defaults!
|
|
46
|
+
|
|
47
|
+
embed_lambda = lambda do |*_|
|
|
48
|
+
Calabash::Logger.info 'Embed is not available in the console.'
|
|
49
|
+
true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
Calabash.new_embed_method!(embed_lambda)
|
|
53
|
+
|
|
54
|
+
Calabash::Screenshot.screenshot_directory_prefix = 'console_'
|
|
55
|
+
|
|
56
|
+
puts_console_details
|
|
57
|
+
message_of_the_day
|
|
45
58
|
rescue Exception => e
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
end
|
|
59
|
+
puts 'Unable to start console:'
|
|
60
|
+
puts "#{e.class}: #{e.message}"
|
|
61
|
+
puts "#{e.backtrace.join("\n")}"
|
|
62
|
+
exit(1)
|
|
63
|
+
end
|