From 74d60bca5a410eec0fb832678fd0ce0901ddc159 Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Wed, 3 Jul 2024 09:08:32 +0200 Subject: [PATCH 1/4] Update Appium dependency to v5 --- samples/UITests.Android/UITests.Android.csproj | 2 +- samples/UITests.Windows/UITests.Windows.csproj | 2 +- samples/UITests.iOS/UITests.iOS.csproj | 2 +- samples/UITests.macOS/UITests.macOS.csproj | 2 +- .../Plugin.Maui.UITestHelpers.Appium.csproj | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/samples/UITests.Android/UITests.Android.csproj b/samples/UITests.Android/UITests.Android.csproj index 1e20c99a..e61d4154 100644 --- a/samples/UITests.Android/UITests.Android.csproj +++ b/samples/UITests.Android/UITests.Android.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/UITests.Windows/UITests.Windows.csproj b/samples/UITests.Windows/UITests.Windows.csproj index 1aaf7966..f62a39c6 100644 --- a/samples/UITests.Windows/UITests.Windows.csproj +++ b/samples/UITests.Windows/UITests.Windows.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/UITests.iOS/UITests.iOS.csproj b/samples/UITests.iOS/UITests.iOS.csproj index 12a43d49..c9a00bd2 100644 --- a/samples/UITests.iOS/UITests.iOS.csproj +++ b/samples/UITests.iOS/UITests.iOS.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/UITests.macOS/UITests.macOS.csproj b/samples/UITests.macOS/UITests.macOS.csproj index feae6e03..735b68da 100644 --- a/samples/UITests.macOS/UITests.macOS.csproj +++ b/samples/UITests.macOS/UITests.macOS.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj b/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj index c8084df6..84a2f6b9 100644 --- a/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj +++ b/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj @@ -27,7 +27,7 @@ - + From b2b949f3f2cf5edaabca7e44afab119a0fd7016f Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Wed, 3 Jul 2024 09:10:39 +0200 Subject: [PATCH 2/4] Update Plugin.Maui.UITestHelpers.Appium.csproj --- .../Plugin.Maui.UITestHelpers.Appium.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj b/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj index 84a2f6b9..a8e453a7 100644 --- a/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj +++ b/src/Plugin.Maui.UITestHelpers.Appium/Plugin.Maui.UITestHelpers.Appium.csproj @@ -28,7 +28,7 @@ - + From 0f6f5da27c963533faffe04fb621d0d7ade869db Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Wed, 3 Jul 2024 12:52:48 +0200 Subject: [PATCH 3/4] Update AppiumLifecycleActions.cs --- .../Actions/AppiumLifecycleActions.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs b/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs index 2700d4e9..fe00a756 100644 --- a/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs +++ b/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs @@ -60,11 +60,13 @@ CommandResponse LaunchApp(IDictionary parameters) { "bundleId", _app.GetAppId() }, }); } - else if (_app.GetTestDevice() == TestDevice.Windows) + else if (_app.Driver is WindowsDriver windowsDriver) { -#pragma warning disable CS0618 // Type or member is obsolete - _app.Driver.LaunchApp(); -#pragma warning restore CS0618 // Type or member is obsolete + // Appium driver removed the LaunchApp method in 5.0.0, so we need to use the executeScript method instead + // Currently the appium-windows-driver reports the following commands as compatible: + // startRecordingScreen,stopRecordingScreen,launchApp,closeApp,deleteFile,deleteFolder, + // click,scroll,clickAndDrag,hover,keys,setClipboard,getClipboard + windowsDriver.ExecuteScript("windows: launchApp", [_app.GetAppId()]); } else { @@ -122,11 +124,12 @@ CommandResponse CloseApp(IDictionary parameters) { "bundleId", _app.GetAppId() }, }); } - else if (_app.GetTestDevice() == TestDevice.Windows) + else if (_app.Driver is WindowsDriver windowsDriver) { -#pragma warning disable CS0618 // Type or member is obsolete - _app.Driver.CloseApp(); -#pragma warning restore CS0618 // Type or member is obsolete + // This is still here for now, but it looks like it will get removed just like + // LaunchApp was in 5.0.0, in which case we may need to use: + // windowsDriver.ExecuteScript("windows: closeApp", [_app.GetAppId()]); + windowsDriver.CloseApp(); } else _app.Driver.TerminateApp(_app.GetAppId()); From 051008b038921b1316051bbb4f3e41b1a300f50c Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Wed, 3 Jul 2024 12:56:26 +0200 Subject: [PATCH 4/4] Update AppiumLifecycleActions.cs --- .../Actions/AppiumLifecycleActions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs b/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs index fe00a756..bddea5de 100644 --- a/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs +++ b/src/Plugin.Maui.UITestHelpers.Appium/Actions/AppiumLifecycleActions.cs @@ -1,4 +1,5 @@ using OpenQA.Selenium.Appium.Android; +using OpenQA.Selenium.Appium.Windows; using Plugin.Maui.UITestHelpers.Core; namespace Plugin.Maui.UITestHelpers.Appium