ComboBoxTests.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using OpenQA.Selenium;
  2. using OpenQA.Selenium.Appium;
  3. using Xunit;
  4. namespace Avalonia.IntegrationTests.Appium
  5. {
  6. [Collection("Default")]
  7. public class ComboBoxTests
  8. {
  9. private readonly AppiumDriver<AppiumWebElement> _session;
  10. public ComboBoxTests(TestAppFixture fixture)
  11. {
  12. _session = fixture.Session;
  13. var tabs = _session.FindElementByAccessibilityId("MainTabs");
  14. var tab = tabs.FindElementByName("ComboBox");
  15. tab.Click();
  16. }
  17. [Fact]
  18. public void Can_Change_Selection_Using_Mouse()
  19. {
  20. var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");
  21. _session.FindElementByAccessibilityId("ComboBoxSelectFirst").Click();
  22. Assert.Equal("Item 0", comboBox.GetComboBoxValue());
  23. comboBox.Click();
  24. _session.FindElementByName("Item 1").SendClick();
  25. Assert.Equal("Item 1", comboBox.GetComboBoxValue());
  26. }
  27. [Fact]
  28. public void Can_Change_Selection_From_Unselected_Using_Mouse()
  29. {
  30. var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");
  31. _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
  32. Assert.Equal(string.Empty, comboBox.GetComboBoxValue());
  33. comboBox.Click();
  34. _session.FindElementByName("Item 0").SendClick();
  35. Assert.Equal("Item 0", comboBox.GetComboBoxValue());
  36. }
  37. [PlatformFact(TestPlatforms.Windows)]
  38. public void Can_Change_Selection_With_Keyboard()
  39. {
  40. var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");
  41. _session.FindElementByAccessibilityId("ComboBoxSelectFirst").Click();
  42. Assert.Equal("Item 0", comboBox.GetComboBoxValue());
  43. comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
  44. comboBox.SendKeys(Keys.ArrowDown);
  45. var item = _session.FindElementByName("Item 1");
  46. item.SendKeys(Keys.Enter);
  47. Assert.Equal("Item 1", comboBox.GetComboBoxValue());
  48. }
  49. [PlatformFact(TestPlatforms.Windows)]
  50. public void Can_Change_Selection_With_Keyboard_From_Unselected()
  51. {
  52. var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");
  53. _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
  54. Assert.Equal(string.Empty, comboBox.GetComboBoxValue());
  55. comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
  56. comboBox.SendKeys(Keys.ArrowDown);
  57. var item = _session.FindElementByName("Item 0");
  58. item.SendKeys(Keys.Enter);
  59. Assert.Equal("Item 0", comboBox.GetComboBoxValue());
  60. }
  61. [PlatformFact(TestPlatforms.Windows)]
  62. public void Can_Cancel_Keyboard_Selection_With_Escape()
  63. {
  64. var comboBox = _session.FindElementByAccessibilityId("BasicComboBox");
  65. _session.FindElementByAccessibilityId("ComboBoxSelectionClear").Click();
  66. Assert.Equal(string.Empty, comboBox.GetComboBoxValue());
  67. comboBox.SendKeys(Keys.LeftAlt + Keys.ArrowDown);
  68. comboBox.SendKeys(Keys.ArrowDown);
  69. var item = _session.FindElementByName("Item 0");
  70. item.SendKeys(Keys.Escape);
  71. Assert.Equal(string.Empty, comboBox.GetComboBoxValue());
  72. }
  73. }
  74. }