0

给定:
Windows 10 Pro 最新的
Windows 应用程序驱动程序 最新
的 Visual Studio 2019 的 Appium 扩展 最新的
WPF 应用程序


我有一个简单的 WPF 应用程序,上面只有一个组合框,我只是想对它执行一个简单的测试。如果我使用FindElementByClassName方法,它会起作用。但是,如果屏幕上有多个组合框怎么办?我以为我可以使用 . FindElementByName或者 。FindElementByAccessibilityId,但这些不起作用。(关于后者)它确实找到了组合框元素并单击它,但项目出现片刻然后消失。

var comboNumber5 = session.FindElementByClassName(nameof(ComboBox));  //This works

对比

var comboNumber5 = session.FindElementByAccessibilityId("combo5"); //Does not work  

代码:

[TestMethod]
public void Combo5Test()
{
    var comboNumber5 = session.FindElementByClassName(nameof(ComboBox));

    comboNumber5.Click();

    var comboNumber5Items = comboNumber5.FindElementsByClassName(nameof(ListBoxItem));

    Assert.IsTrue(comboNumber5Items.Any());
    var lastItem = comboNumber5Items.Last();
    lastItem.Click();

    Assert.AreEqual(comboNumber5.Text, lastItem.Text);

}


信用https ://github.com/mglodack/WPF-UI-Test-Automation

4

1 回答 1

0

结果在我的 xaml 文件中我没有使用 x:Name 绑定。我只是在使用 Name 属性。

于 2020-04-22T20:59:56.433 回答