From 9290d72c040e5ee656c86110705914c9bb42558e Mon Sep 17 00:00:00 2001 From: Kazuaki Matsuo Date: Thu, 12 Jun 2025 08:20:26 -0700 Subject: [PATCH 1/4] test: update for ios 26 --- test/functional/common_w3c_actions.rb | 6 ++--- test/functional/data/test_ios_button.png | Bin 5036 -> 4167 bytes test/functional/ios/driver_test.rb | 17 +++++++++--- .../ios/ios/mobile_commands_test.rb | 25 +++++++++++------- test/test_helper.rb | 10 ++++--- 5 files changed, 39 insertions(+), 19 deletions(-) diff --git a/test/functional/common_w3c_actions.rb b/test/functional/common_w3c_actions.rb index c6ade58c..ee546ff1 100644 --- a/test/functional/common_w3c_actions.rb +++ b/test/functional/common_w3c_actions.rb @@ -13,7 +13,7 @@ # limitations under the License. # Scroll action for Android and iOS following W3C spec -def w3c_scroll(driver) +def w3c_scroll(driver, duration: 0.1) window = driver.window_rect action_builder = driver.action @@ -21,9 +21,9 @@ def w3c_scroll(driver) action_builder .move_to_location(window.width / 2, window.height * 8 / 10) .pointer_down(:left) - .pause(device: input, duration: 0.1) + .pause(device: input, duration: duration) .move_to_location(window.width / 2, window.height / 10, duration: 0.2) - .pause(device: input, duration: 0.1) + .pause(device: input, duration: duration) .release .perform end diff --git a/test/functional/data/test_ios_button.png b/test/functional/data/test_ios_button.png index f77d882aee46db8ac9fb8e6092fa1f118f630b76..3b8c5d5c18a7dab6528518c2b7d759895a3882c4 100644 GIT binary patch literal 4167 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 literal 5036 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 @core.wait { @driver.find_element :class_chain, '**/*[`name == "com.apple.ace.assistant"`]' } end + @driver.settings.update({ defaultActiveApplication: 'com.example.apple-samplecode.UICatalog' }) assert_equal :running_in_foreground, @driver.app_state('com.example.apple-samplecode.UICatalog') @driver.activate_app 'com.example.apple-samplecode.UICatalog' diff --git a/test/test_helper.rb b/test/test_helper.rb index 9bc96bae..ef15a434 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -82,6 +82,10 @@ def over_ios17?(driver) Gem::Version.create(driver.capabilities['platformVersion']) >= Gem::Version.create('17.0') end + def over_ios26?(driver) + Gem::Version.create(driver.capabilities['platformVersion']) >= Gem::Version.create('26.0') + end + def ci? ENV['CI'] == 'true' end @@ -127,7 +131,7 @@ def self.mac2 # Require a simulator which OS version is 11.4, for example. def ios(platform_name = :ios) - platform_version = '17.4' + platform_version = '26.0' wda_port = wda_local_port real_device = ENV['REAL'] || false @@ -211,9 +215,9 @@ def device_name(os_version, platform_name, wda_local_port) 'Apple TV' else name = if over_ios13?(os_version) - 'iPhone 15 Plus' + 'iPhone 16 Plus' else - 'iPhone 15 Pro Max' + 'iPhone 16 Pro Max' end parallel? ? "#{name} - #{wda_local_port}" : name From 1ef94e60332d75c194053a1cee5ec7f96cb22292 Mon Sep 17 00:00:00 2001 From: Kazuaki Matsuo Date: Thu, 12 Jun 2025 08:24:52 -0700 Subject: [PATCH 2/4] tweak more --- test/functional/ios/driver_test.rb | 6 +++--- test/functional/ios/ios/mobile_commands_test.rb | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/test/functional/ios/driver_test.rb b/test/functional/ios/driver_test.rb index d9d7b6e4..416598f7 100644 --- a/test/functional/ios/driver_test.rb +++ b/test/functional/ios/driver_test.rb @@ -118,7 +118,7 @@ def test_default_keyboard_pref @@driver.find_element(:accessibility_id, 'Keyboard').click # to wait the animation - auto_correction_name = over_ios26?(@@driver) ? 'KeyboardAutocorrection' : 'Auto-Correction' + auto_correction_name = over_ios26? @@driver ? 'KeyboardAutocorrection' : 'Auto-Correction' @@driver.wait { |d| d.find_element :accessibility_id, auto_correction_name } auto_correction = @@driver.wait do |d| @@ -127,9 +127,9 @@ def test_default_keyboard_pref # need to bding the element into the screen w3c_scroll @@driver, duration: 1.0 - search_word = if over_ios26?(@@driver) + search_word = if over_ios26? @@driver 'KeyboardPrediction' - elsif over_ios17?(@@driver) + elsif over_ios17? @@driver 'Predictive Text' else 'Predictive' diff --git a/test/functional/ios/ios/mobile_commands_test.rb b/test/functional/ios/ios/mobile_commands_test.rb index 8d6da68b..45507cf2 100644 --- a/test/functional/ios/ios/mobile_commands_test.rb +++ b/test/functional/ios/ios/mobile_commands_test.rb @@ -84,6 +84,7 @@ def test_permission core = ::Appium::Core.for(caps) @driver = core.start_driver + skip 'Not stable on CI' if ci? # skip 'Permissions does not work well on iOS 14 yet' if over_ios14?(@driver) assert @driver.execute_script('mobile: getPermission', { service: 'calendar', bundleId: 'com.example.apple-samplecode.UICatalog' }) == 'yes' @@ -94,12 +95,14 @@ def test_permission @driver.activate_app('com.apple.Preferences') @driver.settings.update({ defaultActiveApplication: 'com.apple.Preferences' }) w3c_scroll @driver, duration: 1.0 - @driver.find_element(:accessibility_id, 'com.apple.settings.privacyAndSecurity').click + + privacy_name = over_ios26? @driver ? 'com.apple.settings.privacyAndSecurity' : 'Privacy' + @driver.find_element(:accessibility_id, privacy_name).click @driver.find_element(:accessibility_id, 'Calendars').click if over_ios26? @driver # without exceptions - d.find_element :predicate, "label == 'UIKitCatalog, Full Access'" + @driver.find_element :predicate, "label == 'UIKitCatalog, Full Access'" else el = @driver.find_element(:accessibility_id, uicatalog) assert_equal '1', el.value From 86eeedd8100afe7141636d3b299a50e0f61ee67e Mon Sep 17 00:00:00 2001 From: Kazuaki Matsuo Date: Thu, 12 Jun 2025 09:06:44 -0700 Subject: [PATCH 3/4] Update test_helper.rb --- test/test_helper.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/test_helper.rb b/test/test_helper.rb index ef15a434..c35caa20 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -131,7 +131,7 @@ def self.mac2 # Require a simulator which OS version is 11.4, for example. def ios(platform_name = :ios) - platform_version = '26.0' + platform_version = '17.4' wda_port = wda_local_port real_device = ENV['REAL'] || false @@ -215,9 +215,9 @@ def device_name(os_version, platform_name, wda_local_port) 'Apple TV' else name = if over_ios13?(os_version) - 'iPhone 16 Plus' + 'iPhone 15 Plus' else - 'iPhone 16 Pro Max' + 'iPhone 15 Pro Max' end parallel? ? "#{name} - #{wda_local_port}" : name From ee8c9f0510ddf95e328b846c58fe26d3521453ce Mon Sep 17 00:00:00 2001 From: Kazuaki Matsuo Date: Thu, 12 Jun 2025 23:20:49 -0700 Subject: [PATCH 4/4] Update driver_test.rb --- test/functional/ios/driver_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/functional/ios/driver_test.rb b/test/functional/ios/driver_test.rb index 416598f7..cfd04b6a 100644 --- a/test/functional/ios/driver_test.rb +++ b/test/functional/ios/driver_test.rb @@ -125,8 +125,8 @@ def test_default_keyboard_pref d.find_element :predicate, "name == \"#{auto_correction_name}\" AND type == \"XCUIElementTypeSwitch\"" end - # need to bding the element into the screen - w3c_scroll @@driver, duration: 1.0 + # need to bring the element into the screen in ios 26 + w3c_scroll @@driver, duration: 1.0 if over_ios26? @@driver search_word = if over_ios26? @@driver 'KeyboardPrediction' elsif over_ios17? @@driver