首页 > 解决方案 > 未找到元素。如何使用 winappdriver 测试多页 WPF 应用程序中的步骤顺序?

问题描述

我有一个具有多个页面的 WPF 应用程序。选择某些按钮后进行导航。我能够成功启动测试会话并在主窗口中找到元素。但是,当单击应该触发导航到另一个页面的“确定”按钮时,应用程序不会导航,并且测试用例无法在下一页中找到 UI 元素。我试过 ImplicitWait 和 Thread.Sleep 但仍然找不到元素。单击按钮时,该应用程序似乎根本没有导航。

关于如何解决这个问题的任何想法?以下是我到目前为止所取得的成就:

namespace TestDAAC
{
     [TestClass]
     public class UnitTests
    {
        protected const string WINAPPDRIVER_URL = "http://127.0.0.1:4723";
        private const string DAAC_APP_ID = @"C:\Users\Admin\Desktop\VC PROJECTS\daac\DAAC\bin\x64\Release\DAAC5.exe";

        protected static WindowsDriver<WindowsElement> daacSession;

        [ClassInitialize]
        public static void Setup(TestContext context)
        {
            if (daacSession == null)
            {
                var appiumOptions = new AppiumOptions();
                appiumOptions.AddAdditionalCapability("app", DAAC_APP_ID);
                appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
                daacSession = new WindowsDriver<WindowsElement>(new Uri(WINAPPDRIVER_URL), appiumOptions);
            }
        }

        [TestMethod]
        public void SequenceOfSteps()
        {
            daacSession.FindElementByName("OK").Click();
            Thread.Sleep(5000);
            // daacSession.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            daacSession.FindElementByName("New Imaging Session").Click();
        }
    }
}


    

标签: wpfuser-interfacetestingappiumwinappdriver

解决方案


我能够找到我的测试用例不起作用的原因。WinAppDriver 仅与 Windows 10 家庭版或专业版兼容。我的目标设备在 Windows Enterprise 上运行。


推荐阅读