找不到元素如何使用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();
        }
    }
}


    

解决方法

我能够找到测试用例无法正常工作的原因。 WinAppDriver仅与Windows 10 Home或Pro兼容。我的目标设备运行在Windows Enterprise上。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...