代码之家  ›  专栏  ›  技术社区  ›  Rod

如何使用Appium将屏幕上许多组合框中的组合框作为目标

  •  0
  • Rod  · 技术社区  · 5 年前

    鉴于:

    最新的Windows应用程序驱动程序
    Appium extension for Visual Studio 2019最新版本


    我有一个简单的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

    0 回复  |  直到 5 年前
        1
  •  0
  •   Rod    5 年前

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