@@ -50,46 +50,39 @@ def execute_command(action, scenario_name = '', scenario_data = '')
5050def wait_for_app_state ( expected_state )
5151 max_attempts = 20
5252 attempts = 0
53- state = get_app_state
53+ manager = Maze ::Api ::Appium ::AppManager . new
54+ state = manager . state
5455 until ( attempts >= max_attempts ) || state == expected_state
5556 attempts += 1
56- state = get_app_state
57+ state = manager . state
5758 sleep 0.5
5859 end
5960 $logger. warn "App state #{ state } instead of #{ expected_state } after 10s" unless state == expected_state
6061 state
6162end
6263
63- def get_app_state
64- case Maze ::Helper . get_current_platform
65- when 'ios'
66- Maze . driver . app_state ( 'com.bugsnag.fixtures.reactnative' )
67- when 'android'
68- Maze . driver . app_state ( 'com.reactnative' )
69- end
70- end
71-
7264When ( 'I relaunch the app after a crash' ) do
7365 state = wait_for_app_state :not_running
7466 # TODO: Really we should be using terminate_app/activate_app with the newer Appium client,
7567 # but for some reason they seem to make some scenarios flaky (presumably due to the
7668 # nature of how/when they close the app).
69+ manager = Maze ::Api ::Appium ::AppManager . new
7770 if state != :not_running
78- Maze . driver . close_app
79- # Maze.driver.terminate_app Maze.driver.app_id
71+ manager . close
72+ # manager.terminate
8073 end
81- Maze . driver . launch_app
82- # Maze.driver.activate_app Maze.driver.app_id
74+ manager . launch
75+ # manager.activate
8376end
8477
8578When ( 'I clear any error dialogue' ) do
8679 # Error dialogue is auto-cleared on IOS
87- next unless Maze . driver . capabilities [ 'os' ] == 'android'
80+ next unless Maze :: Helper . get_current_platform == 'android'
8881
89- driver = Maze . driver
90- driver . click_element ( 'android:id/button1' ) if driver . wait_for_element ( 'android:id/button1' , 3 )
91- driver . click_element ( 'android:id/aerr_close' ) if driver . wait_for_element ( 'android:id/aerr_close' , 3 )
92- driver . click_element ( 'android:id/aerr_restart' ) if driver . wait_for_element ( 'android:id/aerr_restart' , 3 )
82+ manager = Maze :: Api :: Appium :: UiManager . new
83+ manager . click_element ( 'android:id/button1' ) if manager . wait_for_element ( 'android:id/button1' , 3 )
84+ manager . click_element ( 'android:id/aerr_close' ) if manager . wait_for_element ( 'android:id/aerr_close' , 3 )
85+ manager . click_element ( 'android:id/aerr_restart' ) if manager . wait_for_element ( 'android:id/aerr_restart' , 3 )
9386end
9487
9588When ( 'I configure Bugsnag for {string}' ) do |scenario_name |
@@ -170,7 +163,7 @@ def get_app_state
170163 payload_value = Maze ::Helper . read_key_path ( payload , "events.0.#{ field_path } " )
171164
172165 expected_value = get_value_for_arch_and_version ( table )
173-
166+
174167 unless expected_value . eql? ( '@skip' )
175168 assert_equal_with_nullability ( expected_value , payload_value )
176169 end
0 commit comments