kraken-mobile 1.0.1 → 1.0.8
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 +5 -5
- data/README.md +251 -77
- data/bin/kraken-mobile +64 -67
- data/bin/kraken_mobile_calabash_android.rb +39 -0
- data/bin/kraken_mobile_helpers.rb +107 -0
- data/bin/kraken_mobile_setup.rb +138 -0
- data/calabash-android-features-skeleton/step_definitions/mobile_steps.rb +1 -0
- data/calabash-android-features-skeleton/support/app_installation_hooks.rb +2 -0
- data/calabash-android-features-skeleton/support/app_life_cycle_hooks.rb +3 -4
- data/calabash-android-features-skeleton/support/env.rb +1 -1
- data/calabash-android-features-skeleton/web/step_definitions/web_steps.rb +3 -0
- data/calabash-android-features-skeleton/web/support/app_life_cycle_hooks.rb +15 -0
- data/lib/kraken-mobile/device_process.rb +130 -0
- data/lib/kraken-mobile/helpers/devices_helper/adb_helper.rb +100 -105
- data/lib/kraken-mobile/helpers/kraken_faker.rb +108 -0
- data/lib/kraken-mobile/helpers/reporter.rb +3 -0
- data/lib/kraken-mobile/hooks/mobile_kraken_hooks.rb +15 -0
- data/lib/kraken-mobile/hooks/mobile_operations.rb +36 -0
- data/lib/kraken-mobile/hooks/web_operations.rb +33 -0
- data/lib/kraken-mobile/mobile/adb.rb +66 -0
- data/lib/kraken-mobile/mobile/android_commands.rb +43 -0
- data/lib/kraken-mobile/mobile/mobile_process.rb +101 -0
- data/lib/kraken-mobile/models/android_device.rb +121 -0
- data/lib/kraken-mobile/models/device.rb +113 -31
- data/lib/kraken-mobile/models/feature_file.rb +135 -0
- data/lib/kraken-mobile/models/feature_scenario.rb +24 -0
- data/lib/kraken-mobile/models/web_device.rb +89 -0
- data/lib/kraken-mobile/monkeys/mobile/android_monkey.rb +30 -0
- data/lib/kraken-mobile/monkeys/mobile/kraken_android_monkey.rb +54 -0
- data/lib/kraken-mobile/monkeys/web/web_monkey.rb +63 -0
- data/lib/kraken-mobile/runners/calabash/android/monkey_helper.rb +2 -2
- data/lib/kraken-mobile/runners/calabash/android/steps/communication_steps.rb +18 -2
- data/lib/kraken-mobile/runners/calabash/monkey/monkey_runner.rb +2 -2
- data/lib/kraken-mobile/steps/general_steps.rb +83 -0
- data/lib/kraken-mobile/steps/mobile/kraken_steps.rb +72 -0
- data/lib/kraken-mobile/steps/web/kraken_steps.rb +91 -0
- data/lib/kraken-mobile/test_scenario.rb +227 -0
- data/lib/kraken-mobile/utils/feature_reader.rb +17 -0
- data/lib/kraken-mobile/utils/k.rb +68 -0
- data/lib/kraken-mobile/utils/mobile_cucumber.rb +2 -0
- data/lib/kraken-mobile/utils/reporter.rb +500 -0
- data/lib/kraken-mobile/version.rb +2 -2
- data/lib/kraken-mobile/web/web_process.rb +41 -0
- data/lib/kraken_mobile.rb +81 -0
- data/reporter/assets/css/scenario_index.css +20 -0
- data/reporter/assets/images/krakenThumbnail.jpg +0 -0
- data/reporter/assets/js/sankey.js +56 -24
- data/reporter/feature_report.html.erb +5 -1
- data/reporter/index.html.erb +15 -8
- data/reporter/scenario_report.html.erb +73 -31
- metadata +95 -14
- data/bin/kraken-mobile-calabash-android.rb +0 -85
- data/bin/kraken-mobile-generate.rb +0 -19
- data/bin/kraken-mobile-helpers.rb +0 -48
- data/bin/kraken-mobile-setup.rb +0 -50
- data/calabash-android-features-skeleton/step_definitions/kraken_steps.rb +0 -1
- data/lib/kraken-mobile.rb +0 -29
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kraken-mobile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Ravelo M
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -66,6 +66,62 @@ dependencies:
|
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.18.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: byebug
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '11.1'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '11.1'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: capybara
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.31.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.31.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: selenium-webdriver
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.14.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.14.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: faker
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.10.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.10.0
|
69
125
|
description: 'Automated E2E testing involving intercommunication between two or more
|
70
126
|
mobile applications running in different devices or emulators. '
|
71
127
|
email:
|
@@ -78,24 +134,39 @@ files:
|
|
78
134
|
- LICENSE
|
79
135
|
- README.md
|
80
136
|
- bin/kraken-mobile
|
81
|
-
- bin/
|
82
|
-
- bin/
|
83
|
-
- bin/
|
84
|
-
- bin/kraken-mobile-setup.rb
|
137
|
+
- bin/kraken_mobile_calabash_android.rb
|
138
|
+
- bin/kraken_mobile_helpers.rb
|
139
|
+
- bin/kraken_mobile_setup.rb
|
85
140
|
- calabash-android-features-skeleton/my_first.feature
|
86
|
-
- calabash-android-features-skeleton/step_definitions/
|
141
|
+
- calabash-android-features-skeleton/step_definitions/mobile_steps.rb
|
87
142
|
- calabash-android-features-skeleton/support/app_installation_hooks.rb
|
88
143
|
- calabash-android-features-skeleton/support/app_life_cycle_hooks.rb
|
89
144
|
- calabash-android-features-skeleton/support/env.rb
|
90
|
-
-
|
145
|
+
- calabash-android-features-skeleton/web/step_definitions/web_steps.rb
|
146
|
+
- calabash-android-features-skeleton/web/support/app_life_cycle_hooks.rb
|
91
147
|
- lib/kraken-mobile/constants.rb
|
148
|
+
- lib/kraken-mobile/device_process.rb
|
92
149
|
- lib/kraken-mobile/helpers/command_helper.rb
|
93
150
|
- lib/kraken-mobile/helpers/devices_helper/adb_helper.rb
|
94
151
|
- lib/kraken-mobile/helpers/devices_helper/manager.rb
|
95
152
|
- lib/kraken-mobile/helpers/feature_analyzer.rb
|
96
153
|
- lib/kraken-mobile/helpers/feature_grouper.rb
|
154
|
+
- lib/kraken-mobile/helpers/kraken_faker.rb
|
97
155
|
- lib/kraken-mobile/helpers/reporter.rb
|
156
|
+
- lib/kraken-mobile/hooks/mobile_kraken_hooks.rb
|
157
|
+
- lib/kraken-mobile/hooks/mobile_operations.rb
|
158
|
+
- lib/kraken-mobile/hooks/web_operations.rb
|
159
|
+
- lib/kraken-mobile/mobile/adb.rb
|
160
|
+
- lib/kraken-mobile/mobile/android_commands.rb
|
161
|
+
- lib/kraken-mobile/mobile/mobile_process.rb
|
162
|
+
- lib/kraken-mobile/models/android_device.rb
|
98
163
|
- lib/kraken-mobile/models/device.rb
|
164
|
+
- lib/kraken-mobile/models/feature_file.rb
|
165
|
+
- lib/kraken-mobile/models/feature_scenario.rb
|
166
|
+
- lib/kraken-mobile/models/web_device.rb
|
167
|
+
- lib/kraken-mobile/monkeys/mobile/android_monkey.rb
|
168
|
+
- lib/kraken-mobile/monkeys/mobile/kraken_android_monkey.rb
|
169
|
+
- lib/kraken-mobile/monkeys/web/web_monkey.rb
|
99
170
|
- lib/kraken-mobile/protocols/file_protocol.rb
|
100
171
|
- lib/kraken-mobile/runners/calabash/android/android_runner.rb
|
101
172
|
- lib/kraken-mobile/runners/calabash/android/apk_signer.rb
|
@@ -107,7 +178,17 @@ files:
|
|
107
178
|
- lib/kraken-mobile/runners/calabash/android/steps/communication_steps.rb
|
108
179
|
- lib/kraken-mobile/runners/calabash/monkey/monkey_runner.rb
|
109
180
|
- lib/kraken-mobile/runners/runner.rb
|
181
|
+
- lib/kraken-mobile/steps/general_steps.rb
|
182
|
+
- lib/kraken-mobile/steps/mobile/kraken_steps.rb
|
183
|
+
- lib/kraken-mobile/steps/web/kraken_steps.rb
|
184
|
+
- lib/kraken-mobile/test_scenario.rb
|
185
|
+
- lib/kraken-mobile/utils/feature_reader.rb
|
186
|
+
- lib/kraken-mobile/utils/k.rb
|
187
|
+
- lib/kraken-mobile/utils/mobile_cucumber.rb
|
188
|
+
- lib/kraken-mobile/utils/reporter.rb
|
110
189
|
- lib/kraken-mobile/version.rb
|
190
|
+
- lib/kraken-mobile/web/web_process.rb
|
191
|
+
- lib/kraken_mobile.rb
|
111
192
|
- reporter/assets/css/bootstrap.min.css
|
112
193
|
- reporter/assets/css/dataTables.bootstrap.min.css
|
113
194
|
- reporter/assets/css/feature_index.css
|
@@ -126,6 +207,7 @@ files:
|
|
126
207
|
- reporter/assets/fonts/glyphicons-halflings-regular.woff
|
127
208
|
- reporter/assets/fonts/glyphicons-halflings-regular.woff2
|
128
209
|
- reporter/assets/images/kraken.png
|
210
|
+
- reporter/assets/images/krakenThumbnail.jpg
|
129
211
|
- reporter/assets/js/Chart.min.js
|
130
212
|
- reporter/assets/js/bootstrap.min.js
|
131
213
|
- reporter/assets/js/d3.chart.min.js
|
@@ -142,11 +224,11 @@ files:
|
|
142
224
|
- reporter/feature_report.html.erb
|
143
225
|
- reporter/index.html.erb
|
144
226
|
- reporter/scenario_report.html.erb
|
145
|
-
homepage: https://github.com/
|
227
|
+
homepage: https://github.com/TheSoftwareDesignLab/KrakenMobile
|
146
228
|
licenses:
|
147
229
|
- MIT
|
148
230
|
metadata: {}
|
149
|
-
post_install_message:
|
231
|
+
post_install_message:
|
150
232
|
rdoc_options: []
|
151
233
|
require_paths:
|
152
234
|
- lib
|
@@ -161,9 +243,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
243
|
- !ruby/object:Gem::Version
|
162
244
|
version: '0'
|
163
245
|
requirements: []
|
164
|
-
|
165
|
-
|
166
|
-
signing_key:
|
246
|
+
rubygems_version: 3.0.8
|
247
|
+
signing_key:
|
167
248
|
specification_version: 4
|
168
249
|
summary: Automated E2E mobile testing involving intercommunication scenarios.
|
169
250
|
test_files: []
|
@@ -1,85 +0,0 @@
|
|
1
|
-
|
2
|
-
#-------------------------------
|
3
|
-
# Helpers
|
4
|
-
#-------------------------------
|
5
|
-
def ensure_apk_is_specified
|
6
|
-
if ARGV.empty? || !is_apk_file?(ARGV.first)
|
7
|
-
puts "The first parameter must be the path to a valid apk file."
|
8
|
-
exit 1
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def ensure_configuration_is_valid configuration
|
13
|
-
if !File.exist?(configuration) || !File.file?(configuration) || !configuration.end_with?(".json")
|
14
|
-
puts "The path of the configuration file is not valid."
|
15
|
-
exit 1
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def ensure_properties_is_valid properties
|
20
|
-
if !File.exist?(properties) || !File.file?(properties) || !properties.end_with?(".json")
|
21
|
-
puts "The path of the properties file is not valid."
|
22
|
-
exit 1
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
#-------------------------------
|
27
|
-
# Command reader
|
28
|
-
#-------------------------------
|
29
|
-
|
30
|
-
@features_dir = File.join(FileUtils.pwd, "features")
|
31
|
-
@support_dir = File.join(@features_dir, "support")
|
32
|
-
@source_dir = File.join(File.dirname(__FILE__), '..', 'calabash-android-features-skeleton')
|
33
|
-
|
34
|
-
def handle_calabash_android cmd, protocol, configuration, properties
|
35
|
-
case cmd
|
36
|
-
when 'gen'
|
37
|
-
require File.join(File.dirname(__FILE__), "kraken-mobile-generate")
|
38
|
-
kraken_scaffold()
|
39
|
-
when 'resign'
|
40
|
-
require 'calabash-android/helpers'
|
41
|
-
ensure_apk_is_specified
|
42
|
-
puts "Resigning APK with Calabash-Android"
|
43
|
-
resign_apk(File.expand_path(ARGV.first))
|
44
|
-
when 'monkey'
|
45
|
-
require 'kraken-mobile/constants'
|
46
|
-
require 'calabash-android/helpers'
|
47
|
-
options = {
|
48
|
-
runner: KrakenMobile::Constants::MONKEY,
|
49
|
-
}
|
50
|
-
if configuration
|
51
|
-
ensure_configuration_is_valid File.expand_path(configuration)
|
52
|
-
options[:config_path] = File.expand_path(configuration)
|
53
|
-
else
|
54
|
-
ensure_apk_is_specified
|
55
|
-
options[:apk_path] = ARGV.first
|
56
|
-
end
|
57
|
-
# NOT AVAILABLE
|
58
|
-
#kraken = KrakenMobile::App.new(options)
|
59
|
-
#kraken.run_in_parallel
|
60
|
-
when 'run'
|
61
|
-
require 'kraken-mobile/constants'
|
62
|
-
require 'calabash-android/helpers'
|
63
|
-
options = {
|
64
|
-
feature_folder: @features_dir,
|
65
|
-
runner: KrakenMobile::Constants::CALABASH_ANDROID,
|
66
|
-
protocol: protocol
|
67
|
-
}
|
68
|
-
if configuration
|
69
|
-
ensure_configuration_is_valid File.expand_path(configuration)
|
70
|
-
options[:config_path] = File.expand_path(configuration)
|
71
|
-
else
|
72
|
-
ensure_apk_is_specified
|
73
|
-
options[:apk_path] = ARGV.first
|
74
|
-
end
|
75
|
-
if properties
|
76
|
-
ensure_properties_is_valid File.expand_path(properties)
|
77
|
-
options[:properties_path] = File.expand_path(properties)
|
78
|
-
end
|
79
|
-
kraken = KrakenMobile::App.new(options)
|
80
|
-
kraken.run_in_parallel
|
81
|
-
else
|
82
|
-
puts "Invalid command '#{cmd}'"
|
83
|
-
print_usage
|
84
|
-
end
|
85
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
def kraken_scaffold
|
2
|
-
if File.exists?(@features_dir)
|
3
|
-
puts "A features directory already exists. Stopping..."
|
4
|
-
exit 1
|
5
|
-
end
|
6
|
-
msg("Question") do
|
7
|
-
puts "I'm about to create a subdirectory called features."
|
8
|
-
puts "features will contain all your kraken tests."
|
9
|
-
puts "Please hit return to confirm that's what you want."
|
10
|
-
end
|
11
|
-
exit 2 unless STDIN.gets.chomp == ''
|
12
|
-
|
13
|
-
FileUtils.cp_r(@source_dir, @features_dir)
|
14
|
-
|
15
|
-
msg("Info") do
|
16
|
-
puts "features subdirectory created. \n"
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
require 'fileutils'
|
3
|
-
|
4
|
-
#-------------------------------
|
5
|
-
# Helpers
|
6
|
-
#-------------------------------
|
7
|
-
|
8
|
-
def print_usage
|
9
|
-
puts <<EOF
|
10
|
-
Usage: kraken-mobile <command-name> [parameters] [options]
|
11
|
-
<command-name> can be one of
|
12
|
-
run <apk>
|
13
|
-
runs Cucumber in the current folder with the environment needed.
|
14
|
-
version
|
15
|
-
prints the gem version.
|
16
|
-
devices
|
17
|
-
prints the list of devices attached.
|
18
|
-
setup
|
19
|
-
creates kraken-settings file specifying in what devices the tests are going to be run.
|
20
|
-
gen
|
21
|
-
generate a features folder structure.
|
22
|
-
resign <apk>
|
23
|
-
resigns the app with the currently configured keystore.
|
24
|
-
EOF
|
25
|
-
end
|
26
|
-
|
27
|
-
def print_devices
|
28
|
-
runner = KrakenMobile::Constants::CALABASH_ANDROID
|
29
|
-
device_manager = KrakenMobile::DevicesHelper::Manager.new({runner: runner})
|
30
|
-
puts "List of devices attached"
|
31
|
-
device_manager.connected_devices.each_with_index do |device, index|
|
32
|
-
puts "user#{index+1} - #{device.id} - #{device.model}"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def is_apk_file?(file_path)
|
37
|
-
file_path.end_with? ".apk" and File.exist? file_path
|
38
|
-
end
|
39
|
-
|
40
|
-
def relative_to_full_path(file_path)
|
41
|
-
File.expand_path(file_path)
|
42
|
-
end
|
43
|
-
|
44
|
-
def msg(title, &block)
|
45
|
-
puts "\n" + "-"*10 + title + "-"*10
|
46
|
-
block.call
|
47
|
-
puts "-"*10 + "-------" + "-"*10 + "\n"
|
48
|
-
end
|
data/bin/kraken-mobile-setup.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require "io/console"
|
2
|
-
require "tty-prompt"
|
3
|
-
|
4
|
-
def kraken_setup
|
5
|
-
prompt = TTY::Prompt.new
|
6
|
-
runner = KrakenMobile::Constants::CALABASH_ANDROID
|
7
|
-
device_manager = KrakenMobile::DevicesHelper::Manager.new({runner: runner})
|
8
|
-
@settings = []
|
9
|
-
|
10
|
-
devices_connected = device_manager.connected_devices
|
11
|
-
if devices_connected.count <= 0
|
12
|
-
puts "No devices connected"
|
13
|
-
exit 1
|
14
|
-
end
|
15
|
-
number_of_devices = -1
|
16
|
-
while(number_of_devices <= 0 || number_of_devices > devices_connected.count)
|
17
|
-
number_of_devices = prompt.ask("How many devices do you want to use?", convert: :int)
|
18
|
-
prompt.error("Number of devices can't be less than 1.") if number_of_devices <= 0
|
19
|
-
prompt.error("You only have #{devices_connected.count} devices connected.") if number_of_devices > devices_connected.count
|
20
|
-
end
|
21
|
-
|
22
|
-
devices_connected_id = devices_connected.map { |device| device.id }
|
23
|
-
for i in 0...number_of_devices
|
24
|
-
selected_device_id = prompt.select("Choose your user #{i+1}", devices_connected_id)
|
25
|
-
valid_apk = false
|
26
|
-
entered_apk_path = nil
|
27
|
-
|
28
|
-
while(!valid_apk)
|
29
|
-
entered_text = prompt.ask("What APK user #{i+1} is going to run?", required: true)
|
30
|
-
entered_apk_path = File.expand_path(entered_text)
|
31
|
-
valid_apk = is_apk_file?(File.expand_path(entered_apk_path))
|
32
|
-
prompt.error("APK path is not valid.") unless valid_apk
|
33
|
-
end
|
34
|
-
|
35
|
-
device = devices_connected.select { |d| d.id == selected_device_id }.first
|
36
|
-
@settings[i] = {
|
37
|
-
id: device.id,
|
38
|
-
model: device.model,
|
39
|
-
config: {
|
40
|
-
apk_path: entered_apk_path
|
41
|
-
}
|
42
|
-
}
|
43
|
-
devices_connected_id.delete(selected_device_id)
|
44
|
-
end
|
45
|
-
|
46
|
-
open('kraken_mobile_settings.json', 'w') do |f|
|
47
|
-
f.puts @settings.to_json
|
48
|
-
end
|
49
|
-
puts "Saved your settings to .kraken_mobile_settings. You can edit the settings manually or run this setup script again"
|
50
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
require 'kraken-mobile/runners/calabash/android/kraken_steps'
|
data/lib/kraken-mobile.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'kraken-mobile/runners/calabash/android/android_runner'
|
2
|
-
require 'kraken-mobile/runners/calabash/monkey/monkey_runner'
|
3
|
-
require 'kraken-mobile/constants'
|
4
|
-
|
5
|
-
module KrakenMobile
|
6
|
-
class App
|
7
|
-
# Constructors
|
8
|
-
def initialize(options)
|
9
|
-
@options = options
|
10
|
-
@runner = current_runner
|
11
|
-
end
|
12
|
-
|
13
|
-
# Helpers
|
14
|
-
def run_in_parallel
|
15
|
-
@runner.run_in_parallel
|
16
|
-
end
|
17
|
-
|
18
|
-
def current_runner
|
19
|
-
case @options[:runner]
|
20
|
-
when KrakenMobile::Constants::CALABASH_ANDROID
|
21
|
-
Runner::CalabashAndroidRunner.new(@options)
|
22
|
-
when KrakenMobile::Constants::MONKEY
|
23
|
-
Runner::MonkeyRunner.new(@options)
|
24
|
-
else
|
25
|
-
raise "Invalid Kraken runner."
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|