diff --git a/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs b/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs index 1bae5b1069..8856d7f58d 100644 --- a/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs +++ b/tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs @@ -1,4 +1,5 @@ -using OpenQA.Selenium.Appium; +using System.Runtime.InteropServices; +using OpenQA.Selenium.Appium; using Xunit; namespace Avalonia.IntegrationTests.Appium @@ -43,7 +44,7 @@ namespace Avalonia.IntegrationTests.Appium Assert.Equal("Button with TextBlock", button.Text); } - [Fact] + [PlatformFact(SkipOnOSX = true)] public void ButtonWithAcceleratorKey() { var button = _session.FindElementByAccessibilityId("ButtonWithAcceleratorKey"); diff --git a/tests/Avalonia.IntegrationTests.Appium/PlatformFactAttribute.cs b/tests/Avalonia.IntegrationTests.Appium/PlatformFactAttribute.cs new file mode 100644 index 0000000000..53b9a98347 --- /dev/null +++ b/tests/Avalonia.IntegrationTests.Appium/PlatformFactAttribute.cs @@ -0,0 +1,25 @@ +using System; +using System.Linq; +using System.Runtime.InteropServices; +using Xunit; + +namespace Avalonia.IntegrationTests.Appium +{ + internal class PlatformFactAttribute : FactAttribute + { + public override string? Skip + { + get + { + if (SkipOnWindows && RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + return "Ignored on Windows"; + if (SkipOnOSX && RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + return "Ignored on Windows"; + return null; + } + set => throw new NotSupportedException(); + } + public bool SkipOnOSX { get; set; } + public bool SkipOnWindows { get; set; } + } +}