33require 'kraken-mobile/models/feature_file'
44require 'kraken-mobile/models/web_device'
55require 'kraken-mobile/web/web_process'
6+ require 'kraken-mobile/utils/reporter'
67require 'kraken-mobile/mobile/adb'
78require 'kraken-mobile/utils/k'
89require 'parallel'
@@ -14,6 +15,8 @@ class TestScenario
1415 attr_accessor :devices
1516 attr_accessor :kraken_app
1617 attr_accessor :feature_file
18+ attr_accessor :execution_id
19+ attr_accessor :reporter
1720
1821 #-------------------------------
1922 # Constructors
@@ -22,6 +25,8 @@ def initialize(kraken_app:, feature_file_path:)
2225 @feature_file = FeatureFile . new ( file_path : feature_file_path )
2326 @devices = sample_devices
2427 @kraken_app = kraken_app
28+ @execution_id = Digest ::SHA256 . hexdigest ( Time . now . to_f . to_s )
29+ @reporter = Reporter . new ( test_scenario : self )
2530 end
2631
2732 #-------------------------------
@@ -34,6 +39,7 @@ def before_execution
3439 K ::PROCESS_STATE_FILE_PATH . each do |_state , file_path |
3540 File . delete ( file_path ) if File . exist? ( file_path )
3641 end
42+ @reporter . create_report_folder_requirements
3743 end
3844
3945 def run
@@ -53,6 +59,7 @@ def after_execution
5359 K ::PROCESS_STATE_FILE_PATH . each do |_state , file_path |
5460 File . delete ( file_path ) if File . exist? ( file_path )
5561 end
62+ @reporter . save_report
5663 notify_scenario_finished
5764 end
5865
0 commit comments