Как мне выбрать поле со списком из множества полей со списком на экране, используя Appium - PullRequest
0 голосов
/ 21 апреля 2020

Дано:
Windows 10 Pro Последние
Windows Последние версии драйверов приложений
Расширение Appium для Visual Studio 2019 Последние
Приложения 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

1 Ответ

0 голосов
/ 22 апреля 2020

Оказывается, в моем файле xaml я не использовал привязку x: Name. Я просто использовал свойство Name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...