fastlane-plugin-android_testlab_script_swit 0.1.39 → 0.1.40
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fastlane/plugin/android_testlab_script_swit/actions/android_testlab_script_swit_action.rb +13 -29
- data/lib/fastlane/plugin/android_testlab_script_swit/helper/android_testlab_script_swit_helper.rb +16 -0
- data/lib/fastlane/plugin/android_testlab_script_swit/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 791fc74ef48b4238b8eebf9877ec7339584b035caa99223cd5245f2a3692524e
|
4
|
+
data.tar.gz: adfad851a37d428347cd503186f4b861c4511c35fba23f492839b7b8a50a3e1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a60c3bc108645bee420928e0f155da5ef7cc7760c9f9c6252bd0b0eb6ac3eebcd6ecb1cb4b5e765a3abb08aada567c3a467020f8e80879ab05c902fd0fb2f7a
|
7
|
+
data.tar.gz: ce74a3ce4cd883700afee578b7e93f2ac53001441f78d291ce83b03375e2e7e43c6134aa338dfc5a1675315c569a1c7bf2844c2862d891a158a0ad53608971ca
|
data/lib/fastlane/plugin/android_testlab_script_swit/actions/android_testlab_script_swit_action.rb
CHANGED
@@ -24,7 +24,7 @@ module Fastlane
|
|
24
24
|
robo_script_option = params[:robo_script_path].nil? ? "" : "--robo-script #{params[:robo_script_path]} "
|
25
25
|
|
26
26
|
# Run Firebase Test Lab
|
27
|
-
result_url = Helper.
|
27
|
+
result_url = Helper.run_tests2(params[:gcloud_components_channel], "--type #{params[:type]} "\
|
28
28
|
"--app #{params[:app_apk]} "\
|
29
29
|
"#{"--test #{params[:app_test_apk]} " unless params[:app_test_apk].nil?}"\
|
30
30
|
"#{"--use-orchestrator " if params[:type] == "instrumentation" && params[:use_orchestrator]}"\
|
@@ -37,42 +37,26 @@ module Fastlane
|
|
37
37
|
"--format=json 1>#{Helper.if_need_dir(params[:console_log_file_name])}"
|
38
38
|
)
|
39
39
|
|
40
|
+
# wait_for_test_to_complete(test_results_url)
|
40
41
|
|
41
42
|
json = JSON.parse(File.read(params[:console_log_file_name]))
|
42
43
|
UI.message("Test status: #{json}")
|
43
44
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
#
|
52
|
-
#
|
53
|
-
|
54
|
-
|
55
|
-
# Helper.set_public("#{results_bucket}/#{results_dir}/#{axis}")
|
56
|
-
# end
|
57
|
-
# end
|
45
|
+
# Fetch results
|
46
|
+
download_dir = params[:download_dir]
|
47
|
+
if download_dir
|
48
|
+
UI.message("Fetch results from Firebase Test Lab results bucket")
|
49
|
+
json.each do |status|
|
50
|
+
axis = status["axis_value"]
|
51
|
+
Helper.if_need_dir("#{download_dir}/#{axis}")
|
52
|
+
Helper.copy_from_gcs("#{results_bucket}/#{results_dir}/#{axis}", download_dir)
|
53
|
+
Helper.set_public("#{results_bucket}/#{results_dir}/#{axis}")
|
54
|
+
end
|
55
|
+
end
|
58
56
|
|
59
57
|
UI.message("Finish Action")
|
60
58
|
end
|
61
59
|
|
62
|
-
def wait_for_test_to_complete(url)
|
63
|
-
require 'open-uri'
|
64
|
-
|
65
|
-
loop do
|
66
|
-
html = open(url).read
|
67
|
-
|
68
|
-
if html.include?("Test is complete")
|
69
|
-
break
|
70
|
-
else
|
71
|
-
sleep(10) # wait for a few seconds before checking again.
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
60
|
# Short Detils
|
77
61
|
def self.description
|
78
62
|
"Android Firebase TestLab with Robo Script Test"
|
data/lib/fastlane/plugin/android_testlab_script_swit/helper/android_testlab_script_swit_helper.rb
CHANGED
@@ -37,6 +37,22 @@ module Fastlane
|
|
37
37
|
Action.sh("set +e; gcloud #{gcloud_components_channel unless gcloud_components_channel == "stable"} firebase test android run #{arguments}; set -e")
|
38
38
|
end
|
39
39
|
|
40
|
+
def self.run_tests2(gcloud_components_channel, arguments)
|
41
|
+
UI.message("Test running...")
|
42
|
+
|
43
|
+
thread = Thread.new do
|
44
|
+
Action.sh("set +e; gcloud #{gcloud_components_channel unless gcloud_components_channel == "stable"} firebase test android run #{arguments}; set -e")
|
45
|
+
end
|
46
|
+
|
47
|
+
while thread.alive?
|
48
|
+
# Do something while waiting for the test to complete...
|
49
|
+
sleep(10) # wait for a few seconds before checking again.
|
50
|
+
end
|
51
|
+
|
52
|
+
UI.message("Test completed.")
|
53
|
+
end
|
54
|
+
|
55
|
+
|
40
56
|
def self.copy_from_gcs(bucket_and_path, copy_to)
|
41
57
|
UI.message("Copy from gs://#{bucket_and_path}")
|
42
58
|
Action.sh("gsutil -m cp -r gs://#{bucket_and_path} #{copy_to}")
|