12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- using System.Threading;
- using OpenQA.Selenium;
- using OpenQA.Selenium.Appium;
- using OpenQA.Selenium.Interactions;
- using Xunit;
- namespace Avalonia.IntegrationTests.Appium
- {
- [Collection("Default")]
- public class ListBoxTests : TestBase
- {
- public ListBoxTests(DefaultAppFixture fixture)
- : base(fixture, "ListBox")
- {
- }
- [Fact]
- public void Can_Select_Item_By_Clicking()
- {
- var listBox = GetTarget();
- var item2 = listBox.FindElementByName("Item 2");
- var item4 = listBox.FindElementByName("Item 4");
- Assert.False(item2.Selected);
- Assert.False(item4.Selected);
- item2.SendClick();
- Assert.True(item2.Selected);
- Assert.False(item4.Selected);
- item4.SendClick();
- Assert.False(item2.Selected);
- Assert.True(item4.Selected);
- }
- [Fact(Skip = "WinAppDriver seems unable to consistently send a Ctrl key and appium-mac2-driver just hangs")]
- public void Can_Select_Items_By_Ctrl_Clicking()
- {
- var listBox = GetTarget();
- var item2 = listBox.FindElementByName("Item 2");
- var item4 = listBox.FindElementByName("Item 4");
- Assert.False(item2.Selected);
- Assert.False(item4.Selected);
-
- new Actions(Session)
- .Click(item2)
- .KeyDown(Keys.Control)
- .Click(item4)
- .KeyUp(Keys.Control)
- .Perform();
- Assert.True(item2.Selected);
- Assert.True(item4.Selected);
- }
- // appium-mac2-driver just hangs
- [PlatformFact(TestPlatforms.Windows)]
- public void Can_Select_Range_By_Shift_Clicking()
- {
- var listBox = GetTarget();
- var item2 = listBox.FindElementByName("Item 2");
- var item3 = listBox.FindElementByName("Item 3");
- var item4 = listBox.FindElementByName("Item 4");
- Assert.False(item2.Selected);
- Assert.False(item3.Selected);
- Assert.False(item4.Selected);
- new Actions(Session)
- .Click(item2)
- .KeyDown(Keys.Shift)
- .Click(item4)
- .KeyUp(Keys.Shift)
- .Perform();
- Assert.True(item2.Selected);
- Assert.True(item3.Selected);
- Assert.True(item4.Selected);
- }
- [Fact]
- public void Is_Virtualized()
- {
- var listBox = GetTarget();
- var children = listBox.GetChildren();
- Assert.True(children.Count < 100);
- }
- private AppiumWebElement GetTarget()
- {
- Session.FindElementByAccessibilityId("ListBoxSelectionClear").Click();
- return Session.FindElementByAccessibilityId("BasicListBox");
- }
- }
- }
|