1313# limitations under the License.
1414
1515require 'test_helper'
16+ require 'functional/common_w3c_actions'
1617
1718# $ rake test:func:ios TEST=test/functional/ios/ios/mobile_commands_test.rb
1819class AppiumLibCoreTest
@@ -83,26 +84,30 @@ def test_permission
8384 core = ::Appium ::Core . for ( caps )
8485 @driver = core . start_driver
8586
86- skip 'Permissions does not work well on iOS 14 yet ' if over_ios14? ( @driver )
87-
87+ skip 'Not stable on CI ' if ci?
88+ # skip 'Permissions does not work well on iOS 14 yet' if over_ios14?(@driver)
8889 assert @driver . execute_script ( 'mobile: getPermission' ,
8990 { service : 'calendar' , bundleId : 'com.example.apple-samplecode.UICatalog' } ) == 'yes'
9091 assert @driver . execute_script ( 'mobile: getPermission' ,
9192 { service : 'photos' , bundleId : 'com.example.apple-samplecode.UICatalog' } ) == 'no'
9293
9394 @driver . terminate_app ( 'com.apple.Preferences' ) # To ensure the app shows the top view
9495 @driver . activate_app ( 'com.apple.Preferences' )
95- @driver . find_element ( :accessibility_id , 'Privacy' ) . click
96+ @driver . settings . update ( { defaultActiveApplication : 'com.apple.Preferences' } )
97+ w3c_scroll @driver , duration : 1.0
9698
97- @driver . find_element ( :accessibility_id , 'Calendars' ) . click
98- el = @driver . find_element ( :accessibility_id , uicatalog )
99- assert_equal '1' , el . value
99+ privacy_name = over_ios26? @driver ? 'com.apple.settings.privacyAndSecurity' : 'Privacy'
100+ @driver . find_element ( :accessibility_id , privacy_name ) . click
100101
102+ @driver . find_element ( :accessibility_id , 'Calendars' ) . click
103+ if over_ios26? @driver
104+ # without exceptions
105+ @driver . find_element :predicate , "label == 'UIKitCatalog, Full Access'"
106+ else
107+ el = @driver . find_element ( :accessibility_id , uicatalog )
108+ assert_equal '1' , el . value
109+ end
101110 @driver . back
102-
103- @driver . find_element ( :accessibility_id , 'Photos' ) . click
104- el = @driver . find_element ( :accessibility_id , 'Never' )
105- assert_equal 'Never' , el . value
106111 end
107112
108113 # @since Appium 1.10.0
@@ -118,6 +123,8 @@ def test_siri
118123
119124 @driver . execute_script 'mobile: siriCommand' , { text : 'hello, siri' }
120125
126+ # to expand the detection area
127+ @driver . settings . update ( { defaultActiveApplication : 'com.apple.springboard' } )
121128 if over_ios14? ( @driver )
122129 @core . wait { @driver . find_element :name , 'siri-interface-window' }
123130 else
@@ -126,6 +133,7 @@ def test_siri
126133 # name="...having a problem with the connection. Please try again in a little bit." ...>
127134 @core . wait { @driver . find_element :class_chain , '**/*[`name == "com.apple.ace.assistant"`]' }
128135 end
136+ @driver . settings . update ( { defaultActiveApplication : 'com.example.apple-samplecode.UICatalog' } )
129137 assert_equal :running_in_foreground , @driver . app_state ( 'com.example.apple-samplecode.UICatalog' )
130138
131139 @driver . activate_app 'com.example.apple-samplecode.UICatalog'
0 commit comments