diff --git a/tests/Avalonia.IntegrationTests.Win32/AutomationTests.cs b/tests/Avalonia.IntegrationTests.Win32/AutomationTests.cs index 735214426f..42fc019e72 100644 --- a/tests/Avalonia.IntegrationTests.Win32/AutomationTests.cs +++ b/tests/Avalonia.IntegrationTests.Win32/AutomationTests.cs @@ -33,7 +33,7 @@ namespace Avalonia.IntegrationTests.Win32 var labeledTextBox = _session.FindElementByAccessibilityId("LabeledByTextBox"); Assert.Equal("Label for TextBox", label.Text); - Assert.Equal("Label for TextBox", labeledTextBox.GetAttribute("Name")); + Assert.Equal("Label for TextBox", labeledTextBox.GetName()); } } } diff --git a/tests/Avalonia.IntegrationTests.Win32/ElementExtensions.cs b/tests/Avalonia.IntegrationTests.Win32/ElementExtensions.cs new file mode 100644 index 0000000000..545a2741bf --- /dev/null +++ b/tests/Avalonia.IntegrationTests.Win32/ElementExtensions.cs @@ -0,0 +1,16 @@ +using System; +using System.Runtime.InteropServices; +using OpenQA.Selenium.Appium; + +namespace Avalonia.IntegrationTests.Win32 +{ + internal static class ElementExtensions + { + public static string GetName(this AppiumWebElement element) => GetAttribute(element, "Name", "title"); + + public static string GetAttribute(AppiumWebElement element, string windows, string macOS) + { + return element.GetAttribute(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? windows : macOS); + } + } +} diff --git a/tests/Avalonia.IntegrationTests.Win32/TestAppFixture.cs b/tests/Avalonia.IntegrationTests.Win32/TestAppFixture.cs index 6fdc7acd96..e8f73ec82d 100644 --- a/tests/Avalonia.IntegrationTests.Win32/TestAppFixture.cs +++ b/tests/Avalonia.IntegrationTests.Win32/TestAppFixture.cs @@ -11,7 +11,8 @@ namespace Avalonia.IntegrationTests.Win32 { public class TestAppFixture : IDisposable { - private const string TestAppPath = @"..\..\..\..\..\samples\IntegrationTestApp\bin\Debug\net6.0\IntegrationTestApp"; + private const string TestAppPath = @"..\..\..\..\..\samples\IntegrationTestApp\bin\Debug\net6.0\IntegrationTestApp.exe"; + private const string TestAppBundleId = "net.avaloniaui.avalonia.integrationtestapp"; public TestAppFixture() { @@ -20,7 +21,7 @@ namespace Avalonia.IntegrationTests.Win32 if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - opts.AddAdditionalCapability(MobileCapabilityType.App, path + ".exe"); + opts.AddAdditionalCapability(MobileCapabilityType.App, path); opts.AddAdditionalCapability(MobileCapabilityType.PlatformName, MobilePlatform.Windows); opts.AddAdditionalCapability(MobileCapabilityType.DeviceName, "WindowsPC"); @@ -35,7 +36,7 @@ namespace Avalonia.IntegrationTests.Win32 } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - opts.AddAdditionalCapability(MobileCapabilityType.App, path + ".exe"); + opts.AddAdditionalCapability("appium:bundleId", TestAppBundleId); opts.AddAdditionalCapability(MobileCapabilityType.PlatformName, MobilePlatform.MacOS); opts.AddAdditionalCapability(MobileCapabilityType.AutomationName, "mac2");