ComboBoxTests.cs 3.2 KB

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