|
|
@ -1,4 +1,7 @@ |
|
|
using OpenQA.Selenium.Appium; |
|
|
using System.Threading; |
|
|
|
|
|
using OpenQA.Selenium; |
|
|
|
|
|
using OpenQA.Selenium.Appium; |
|
|
|
|
|
using OpenQA.Selenium.Interactions; |
|
|
using Xunit; |
|
|
using Xunit; |
|
|
|
|
|
|
|
|
namespace Avalonia.IntegrationTests.Appium |
|
|
namespace Avalonia.IntegrationTests.Appium |
|
|
@ -15,6 +18,12 @@ namespace Avalonia.IntegrationTests.Appium |
|
|
var tabs = _session.FindElementByAccessibilityId("MainTabs"); |
|
|
var tabs = _session.FindElementByAccessibilityId("MainTabs"); |
|
|
var tab = tabs.FindElementByName("Menu"); |
|
|
var tab = tabs.FindElementByName("Menu"); |
|
|
tab.Click(); |
|
|
tab.Click(); |
|
|
|
|
|
|
|
|
|
|
|
var reset = _session.FindElementByAccessibilityId("MenuClickedMenuItemReset"); |
|
|
|
|
|
reset.Click(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("None", clickedMenuItem.Text); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[Fact] |
|
|
[Fact] |
|
|
@ -48,16 +57,107 @@ namespace Avalonia.IntegrationTests.Appium |
|
|
Assert.Equal("_Grandchild", clickedMenuItem.Text); |
|
|
Assert.Equal("_Grandchild", clickedMenuItem.Text); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Child_With_Alt_Arrow_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.KeyDown(Keys.Alt).KeyUp(Keys.Alt) |
|
|
|
|
|
.SendKeys(Keys.Down + Keys.Enter) |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Child 1", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Grandchild_With_Alt_Arrow_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.KeyDown(Keys.Alt).KeyUp(Keys.Alt) |
|
|
|
|
|
.SendKeys(Keys.Down + Keys.Down + Keys.Right + Keys.Enter) |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Grandchild", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Child_With_Alt_Access_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.KeyDown(Keys.Alt).KeyUp(Keys.Alt) |
|
|
|
|
|
.SendKeys("rc") |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Child 1", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Grandchild_With_Alt_Access_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.KeyDown(Keys.Alt).KeyUp(Keys.Alt) |
|
|
|
|
|
.SendKeys("rhg") |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Grandchild", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Child_With_Click_Arrow_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
var rootMenuItem = _session.FindElementByAccessibilityId("RootMenuItem"); |
|
|
|
|
|
rootMenuItem.SendClick(); |
|
|
|
|
|
|
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.SendKeys(Keys.Down + Keys.Enter) |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Child 1", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void Select_Grandchild_With_Click_Arrow_Keys() |
|
|
|
|
|
{ |
|
|
|
|
|
var rootMenuItem = _session.FindElementByAccessibilityId("RootMenuItem"); |
|
|
|
|
|
rootMenuItem.SendClick(); |
|
|
|
|
|
|
|
|
|
|
|
new Actions(_session) |
|
|
|
|
|
.SendKeys(Keys.Down + Keys.Down + Keys.Right + Keys.Enter) |
|
|
|
|
|
.Perform(); |
|
|
|
|
|
|
|
|
|
|
|
var clickedMenuItem = _session.FindElementByAccessibilityId("ClickedMenuItem"); |
|
|
|
|
|
Assert.Equal("_Grandchild", clickedMenuItem.Text); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
public void Child_AcceleratorKey() |
|
|
public void Child_AcceleratorKey() |
|
|
{ |
|
|
{ |
|
|
var rootMenuItem = _session.FindElementByAccessibilityId("RootMenuItem"); |
|
|
var rootMenuItem = _session.FindElementByAccessibilityId("RootMenuItem"); |
|
|
|
|
|
|
|
|
rootMenuItem.SendClick(); |
|
|
rootMenuItem.SendClick(); |
|
|
|
|
|
|
|
|
var childMenuItem = _session.FindElementByAccessibilityId("Child1MenuItem"); |
|
|
var childMenuItem = _session.FindElementByAccessibilityId("Child1MenuItem"); |
|
|
|
|
|
|
|
|
Assert.Equal("Ctrl+O", childMenuItem.GetAttribute("AcceleratorKey")); |
|
|
Assert.Equal("Ctrl+O", childMenuItem.GetAttribute("AcceleratorKey")); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[PlatformFact(SkipOnOSX = true)] |
|
|
|
|
|
public void PointerOver_Does_Not_Steal_Focus() |
|
|
|
|
|
{ |
|
|
|
|
|
// Issue #7906
|
|
|
|
|
|
var textBox = _session.FindElementByAccessibilityId("MenuFocusTest"); |
|
|
|
|
|
textBox.Click(); |
|
|
|
|
|
|
|
|
|
|
|
Assert.True(textBox.GetIsFocused()); |
|
|
|
|
|
|
|
|
|
|
|
var rootMenuItem = _session.FindElementByAccessibilityId("RootMenuItem"); |
|
|
|
|
|
rootMenuItem.MovePointerOver(); |
|
|
|
|
|
|
|
|
|
|
|
Assert.True(textBox.GetIsFocused()); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|