From ac21ab2fe69539522296a6d043ebbb98dcaeaaaf Mon Sep 17 00:00:00 2001 From: Daniil Pavliuchyk Date: Tue, 14 Feb 2023 15:06:13 +0200 Subject: [PATCH] Add Slider Automation Test --- samples/IntegrationTestApp/MainWindow.axaml | 3 ++ .../SliderTests.cs | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/Avalonia.IntegrationTests.Appium/SliderTests.cs diff --git a/samples/IntegrationTestApp/MainWindow.axaml b/samples/IntegrationTestApp/MainWindow.axaml index b116e4c789..8fd33061df 100644 --- a/samples/IntegrationTestApp/MainWindow.axaml +++ b/samples/IntegrationTestApp/MainWindow.axaml @@ -151,6 +151,9 @@ + + + diff --git a/tests/Avalonia.IntegrationTests.Appium/SliderTests.cs b/tests/Avalonia.IntegrationTests.Appium/SliderTests.cs new file mode 100644 index 0000000000..f6c50af59d --- /dev/null +++ b/tests/Avalonia.IntegrationTests.Appium/SliderTests.cs @@ -0,0 +1,35 @@ +using System; +using OpenQA.Selenium.Appium; +using OpenQA.Selenium.Interactions; +using Xunit; + +namespace Avalonia.IntegrationTests.Appium +{ + [Collection("Default")] + public class SliderTests + { + private readonly AppiumDriver _session; + + public SliderTests(TestAppFixture fixture) + { + _session = fixture.Session; + + var tabs = _session.FindElementByAccessibilityId("MainTabs"); + var tab = tabs.FindElementByName("Slider"); + tab.Click(); + } + + [Fact] + public void Changes_Value_When_Moving_Slider() + { + var slider = _session.FindElementByAccessibilityId("Slider2"); + + // slider.Text gets the Slider value + Assert.True(double.Parse(slider.Text) == 30); + + new Actions(_session).Click(slider).MoveByOffset(100, 0).Perform(); + + Assert.Equal(50, Math.Round(double.Parse(slider.Text))); + } + } +}