csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
4.1 KiB
110 lines
4.1 KiB
using System;
|
|
using System.Globalization;
|
|
using OpenQA.Selenium.Appium;
|
|
using OpenQA.Selenium.Interactions;
|
|
using Xunit;
|
|
|
|
namespace Avalonia.IntegrationTests.Appium
|
|
{
|
|
[Collection("Default")]
|
|
public class SliderTests
|
|
{
|
|
private readonly AppiumDriver<AppiumWebElement> _session;
|
|
|
|
public SliderTests(DefaultAppFixture fixture)
|
|
{
|
|
_session = fixture.Session;
|
|
|
|
var tabs = _session.FindElementByAccessibilityId("MainTabs");
|
|
var tab = tabs.FindElementByName("Slider");
|
|
tab.Click();
|
|
|
|
var reset = _session.FindElementByAccessibilityId("ResetSliders");
|
|
reset.Click();
|
|
}
|
|
|
|
[Fact]
|
|
public void Horizontal_Changes_Value_Dragging_Thumb_Right()
|
|
{
|
|
var slider = _session.FindElementByAccessibilityId("HorizontalSlider");
|
|
var thumb = slider.FindElementByAccessibilityId("thumb");
|
|
var initialThumbRect = thumb.Rect;
|
|
|
|
new Actions(_session).ClickAndHold(thumb).MoveByOffset(100, 0).Release().Perform();
|
|
|
|
var value = Math.Round(double.Parse(slider.Text, CultureInfo.InvariantCulture));
|
|
var boundValue = double.Parse(
|
|
_session.FindElementByAccessibilityId("HorizontalSliderValue").Text,
|
|
CultureInfo.InvariantCulture);
|
|
|
|
Assert.True(value > 50);
|
|
Assert.Equal(value, boundValue);
|
|
|
|
var currentThumbRect = thumb.Rect;
|
|
Assert.True(currentThumbRect.Left > initialThumbRect.Left);
|
|
}
|
|
|
|
[Fact]
|
|
public void Horizontal_Changes_Value_Dragging_Thumb_Left()
|
|
{
|
|
var slider = _session.FindElementByAccessibilityId("HorizontalSlider");
|
|
var thumb = slider.FindElementByAccessibilityId("thumb");
|
|
var initialThumbRect = thumb.Rect;
|
|
|
|
new Actions(_session).ClickAndHold(thumb).MoveByOffset(-100, 0).Release().Perform();
|
|
|
|
var value = Math.Round(double.Parse(slider.Text, CultureInfo.InvariantCulture));
|
|
var boundValue = double.Parse(
|
|
_session.FindElementByAccessibilityId("HorizontalSliderValue").Text,
|
|
CultureInfo.InvariantCulture);
|
|
|
|
Assert.True(value < 50);
|
|
Assert.Equal(value, boundValue);
|
|
|
|
var currentThumbRect = thumb.Rect;
|
|
Assert.True(currentThumbRect.Left < initialThumbRect.Left);
|
|
}
|
|
|
|
[Fact]
|
|
public void Horizontal_Changes_Value_When_Clicking_Increase_Button()
|
|
{
|
|
var slider = _session.FindElementByAccessibilityId("HorizontalSlider");
|
|
var thumb = slider.FindElementByAccessibilityId("thumb");
|
|
var initialThumbRect = thumb.Rect;
|
|
|
|
new Actions(_session).MoveToElement(slider).MoveByOffset(100, 0).Click().Perform();
|
|
|
|
var value = Math.Round(double.Parse(slider.Text, CultureInfo.InvariantCulture));
|
|
var boundValue = double.Parse(
|
|
_session.FindElementByAccessibilityId("HorizontalSliderValue").Text,
|
|
CultureInfo.InvariantCulture);
|
|
|
|
Assert.True(value > 50);
|
|
Assert.Equal(value, boundValue);
|
|
|
|
var currentThumbRect = thumb.Rect;
|
|
Assert.True(currentThumbRect.Left > initialThumbRect.Left);
|
|
}
|
|
|
|
[Fact]
|
|
public void Horizontal_Changes_Value_When_Clicking_Decrease_Button()
|
|
{
|
|
var slider = _session.FindElementByAccessibilityId("HorizontalSlider");
|
|
var thumb = slider.FindElementByAccessibilityId("thumb");
|
|
var initialThumbRect = thumb.Rect;
|
|
|
|
new Actions(_session).MoveToElement(slider).MoveByOffset(-100, 0).Click().Perform();
|
|
|
|
var value = Math.Round(double.Parse(slider.Text, CultureInfo.InvariantCulture));
|
|
var boundValue = double.Parse(
|
|
_session.FindElementByAccessibilityId("HorizontalSliderValue").Text,
|
|
CultureInfo.InvariantCulture);
|
|
|
|
Assert.True(value < 50);
|
|
Assert.Equal(value, boundValue);
|
|
|
|
var currentThumbRect = thumb.Rect;
|
|
Assert.True(currentThumbRect.Left < initialThumbRect.Left);
|
|
}
|
|
}
|
|
}
|
|
|