kraken-mobile 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -11
  3. data/bin/kraken-mobile +55 -67
  4. data/bin/kraken_mobile_calabash_android.rb +39 -0
  5. data/bin/kraken_mobile_helpers.rb +91 -0
  6. data/bin/kraken_mobile_setup.rb +134 -0
  7. data/calabash-android-features-skeleton/step_definitions/mobile_steps.rb +1 -0
  8. data/calabash-android-features-skeleton/support/app_installation_hooks.rb +2 -0
  9. data/calabash-android-features-skeleton/support/app_life_cycle_hooks.rb +3 -4
  10. data/calabash-android-features-skeleton/support/env.rb +1 -1
  11. data/calabash-android-features-skeleton/web/step_definitions/web_steps.rb +3 -0
  12. data/calabash-android-features-skeleton/web/support/app_life_cycle_hooks.rb +15 -0
  13. data/lib/kraken-mobile/device_process.rb +94 -0
  14. data/lib/kraken-mobile/helpers/devices_helper/adb_helper.rb +100 -105
  15. data/lib/kraken-mobile/helpers/kraken_faker.rb +107 -0
  16. data/lib/kraken-mobile/hooks/mobile_kraken_hooks.rb +15 -0
  17. data/lib/kraken-mobile/hooks/mobile_operations.rb +36 -0
  18. data/lib/kraken-mobile/hooks/web_operations.rb +33 -0
  19. data/lib/kraken-mobile/mobile/adb.rb +66 -0
  20. data/lib/kraken-mobile/mobile/android_commands.rb +43 -0
  21. data/lib/kraken-mobile/mobile/mobile_process.rb +82 -0
  22. data/lib/kraken-mobile/models/android_device.rb +121 -0
  23. data/lib/kraken-mobile/models/device.rb +113 -31
  24. data/lib/kraken-mobile/models/feature_file.rb +108 -0
  25. data/lib/kraken-mobile/models/feature_scenario.rb +24 -0
  26. data/lib/kraken-mobile/models/web_device.rb +86 -0
  27. data/lib/kraken-mobile/monkeys/mobile/android_monkey.rb +30 -0
  28. data/lib/kraken-mobile/monkeys/mobile/kraken_android_monkey.rb +54 -0
  29. data/lib/kraken-mobile/runners/calabash/android/steps/communication_steps.rb +15 -0
  30. data/lib/kraken-mobile/steps/general_steps.rb +82 -0
  31. data/lib/kraken-mobile/steps/mobile/kraken_steps.rb +72 -0
  32. data/lib/kraken-mobile/steps/web/kraken_steps.rb +81 -0
  33. data/lib/kraken-mobile/test_scenario.rb +193 -0
  34. data/lib/kraken-mobile/utils/feature_reader.rb +17 -0
  35. data/lib/kraken-mobile/utils/k.rb +67 -0
  36. data/lib/kraken-mobile/utils/mobile_cucumber.rb +2 -0
  37. data/lib/kraken-mobile/utils/reporter.rb +453 -0
  38. data/lib/kraken-mobile/version.rb +2 -2
  39. data/lib/kraken-mobile/web/web_process.rb +39 -0
  40. data/lib/kraken_mobile.rb +77 -0
  41. data/reporter/index.html.erb +6 -6
  42. metadata +89 -9
  43. data/bin/kraken-mobile-calabash-android.rb +0 -85
  44. data/bin/kraken-mobile-generate.rb +0 -19
  45. data/bin/kraken-mobile-helpers.rb +0 -48
  46. data/bin/kraken-mobile-setup.rb +0 -50
  47. data/calabash-android-features-skeleton/step_definitions/kraken_steps.rb +0 -1
  48. data/lib/kraken-mobile.rb +0 -29
@@ -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'
@@ -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