给定:
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);
}