|
@@ -1,4 +1,6 @@
|
|
|
-using OpenQA.Selenium.Appium;
|
|
|
+using System.Threading;
|
|
|
+using OpenQA.Selenium;
|
|
|
+using OpenQA.Selenium.Appium;
|
|
|
using OpenQA.Selenium.Appium.Mac;
|
|
|
using Xunit;
|
|
|
|
|
@@ -19,32 +21,82 @@ namespace Avalonia.IntegrationTests.Appium
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
|
- public void UnselectedComboBox()
|
|
|
+ public void Can_Change_Selection_Using_Mouse()
|
|
|
{
|
|
|
- var comboBox = _session.FindElementByAccessibilityId("UnselectedComboBox");
|
|
|
+ var comboBox = _session.FindElementByAccessibilityId("ComboBox");
|
|
|
|
|
|
+ _session.FindElementByAccessibilityId("ComboBoxSelectFirst").Click();
|
|
|
+ Assert.Equal("Item 0", comboBox.Text);
|
|
|
+
|
|
|
+ comboBox.Click();
|
|
|
+ _session.FindElementByName("Item 1").SendClick();
|
|
|
+
|
|
|
+ Assert.Equal("Item 1", comboBox.Text);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Can_Change_Selection_From_Unselected_Using_Mouse()
|
|
|
+ {
|
|
|
+ var comboBox = _session.FindElementByAccessibilityId("ComboBox");
|
|
|
+
|
|
|
+ _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
|
|
|
Assert.Equal(string.Empty, comboBox.Text);
|
|
|
|
|
|
comboBox.Click();
|
|
|
- _session.FindElementByName("Bar").SendClick();
|
|
|
+ _session.FindElementByName("Item 0").SendClick();
|
|
|
|
|
|
- Assert.Equal("Bar", comboBox.Text);
|
|
|
+ Assert.Equal("Item 0", comboBox.Text);
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
|
- public void SelectedIndex0ComboBox()
|
|
|
+ public void Can_Change_Selection_With_Keyboard()
|
|
|
{
|
|
|
- var comboBox = _session.FindElementByAccessibilityId("SelectedIndex0ComboBox");
|
|
|
+ var comboBox = _session.FindElementByAccessibilityId("ComboBox");
|
|
|
+
|
|
|
+ _session.FindElementByAccessibilityId("ComboBoxSelectFirst").Click();
|
|
|
+ Assert.Equal("Item 0", comboBox.Text);
|
|
|
+
|
|
|
+ comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
|
|
|
+ comboBox.SendKeys(Keys.ArrowDown);
|
|
|
|
|
|
- Assert.Equal("Foo", comboBox.Text);
|
|
|
+ var item = _session.FindElementByName("Item 1");
|
|
|
+ item.SendKeys(Keys.Enter);
|
|
|
+
|
|
|
+ Assert.Equal("Item 1", comboBox.Text);
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
|
- public void SelectedIndex1ComboBox()
|
|
|
+ public void Can_Change_Selection_With_Keyboard_From_Unselected()
|
|
|
{
|
|
|
- var comboBox = _session.FindElementByAccessibilityId("SelectedIndex1ComboBox");
|
|
|
+ var comboBox = _session.FindElementByAccessibilityId("ComboBox");
|
|
|
+
|
|
|
+ _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
|
|
|
+ Assert.Equal(string.Empty, comboBox.Text);
|
|
|
|
|
|
- Assert.Equal("Bar", comboBox.Text);
|
|
|
+ comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
|
|
|
+ comboBox.SendKeys(Keys.ArrowDown);
|
|
|
+
|
|
|
+ var item = _session.FindElementByName("Item 0");
|
|
|
+ item.SendKeys(Keys.Enter);
|
|
|
+
|
|
|
+ Assert.Equal("Item 0", comboBox.Text);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Can_Cancel_Keyboard_Selection_With_Escape()
|
|
|
+ {
|
|
|
+ var comboBox = _session.FindElementByAccessibilityId("ComboBox");
|
|
|
+
|
|
|
+ _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
|
|
|
+ Assert.Equal(string.Empty, comboBox.Text);
|
|
|
+
|
|
|
+ comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
|
|
|
+ comboBox.SendKeys(Keys.ArrowDown);
|
|
|
+
|
|
|
+ var item = _session.FindElementByName("Item 0");
|
|
|
+ item.SendKeys(Keys.Escape);
|
|
|
+
|
|
|
+ Assert.Equal(string.Empty, comboBox.Text);
|
|
|
}
|
|
|
}
|
|
|
}
|