Browse Source

Improve slider integration tests.

They are now failing due to #11015.
pull/11051/head
Steven Kirk 3 years ago
parent
commit
576014db05
  1. 17
      samples/IntegrationTestApp/MainWindow.axaml
  2. 2
      samples/IntegrationTestApp/MainWindow.axaml.cs
  3. 2
      tests/Avalonia.IntegrationTests.Appium/ScrollBarTests.cs
  4. 89
      tests/Avalonia.IntegrationTests.Appium/SliderTests.cs

17
samples/IntegrationTestApp/MainWindow.axaml

@ -170,10 +170,21 @@
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="SliderTab">
<Slider VerticalAlignment="Top" Name="Slider" Value="30"/>
<TabItem Header="Slider">
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<TextBox Name="HorizontalSliderValue"
DockPanel.Dock="Right"
Text="{Binding #HorizontalSlider.Value, Mode=OneWay, StringFormat=\{0:0\}}"
VerticalAlignment="Top"/>
<Slider Name="HorizontalSlider" Value="50"/>
</DockPanel>
<Button Name="ResetSliders">Reset</Button>
</DockPanel>
</TabItem>
<TabItem Header="ScrollBarTab">
<TabItem Header="ScrollBar">
<ScrollBar Name="MyScrollBar" Orientation="Horizontal" AllowAutoHide="False" Width="200" Height="30" Value="20"/>
</TabItem>
</TabControl>

2
samples/IntegrationTestApp/MainWindow.axaml.cs

@ -270,6 +270,8 @@ namespace IntegrationTestApp
this.Get<ListBox>("BasicListBox").SelectedIndex = -1;
if (source?.Name == "MenuClickedMenuItemReset")
this.Get<TextBlock>("ClickedMenuItem").Text = "None";
if (source?.Name == "ResetSliders")
this.Get<Slider>("HorizontalSlider").Value = 50;
if (source?.Name == "ShowTransparentWindow")
ShowTransparentWindow();
if (source?.Name == "ShowTransparentPopup")

2
tests/Avalonia.IntegrationTests.Appium/ScrollBarTests.cs

@ -13,7 +13,7 @@ namespace Avalonia.IntegrationTests.Appium
_session = fixture.Session;
var tabs = _session.FindElementByAccessibilityId("MainTabs");
var tab = tabs.FindElementByName("ScrollBarTab");
var tab = tabs.FindElementByName("ScrollBar");
tab.Click();
}

89
tests/Avalonia.IntegrationTests.Appium/SliderTests.cs

@ -1,4 +1,5 @@
using System;
using System.Globalization;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Interactions;
using Xunit;
@ -15,21 +16,95 @@ namespace Avalonia.IntegrationTests.Appium
_session = fixture.Session;
var tabs = _session.FindElementByAccessibilityId("MainTabs");
var tab = tabs.FindElementByName("SliderTab");
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 Changes_Value_When_Clicking_Increase_Button()
public void Horizontal_Changes_Value_When_Clicking_Increase_Button()
{
var slider = _session.FindElementByAccessibilityId("Slider");
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();
// slider.Text gets the Slider value
Assert.True(double.Parse(slider.Text) == 30);
var value = Math.Round(double.Parse(slider.Text, CultureInfo.InvariantCulture));
var boundValue = double.Parse(
_session.FindElementByAccessibilityId("HorizontalSliderValue").Text,
CultureInfo.InvariantCulture);
new Actions(_session).Click(slider).Perform();
Assert.True(value < 50);
Assert.Equal(value, boundValue);
Assert.Equal(50, Math.Round(double.Parse(slider.Text)));
var currentThumbRect = thumb.Rect;
Assert.True(currentThumbRect.Left < initialThumbRect.Left);
}
}
}

Loading…
Cancel
Save