wpf - 未找到元素。如何使用 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 家庭版或专业版兼容。我的目标设备在 Windows Enterprise 上运行。
推荐阅读
- java - 为什么 DP 解决方案不起作用,捕获雨水?
- java - 我将@Entity 数据注释添加到房间数据库的类 android 时出错
- c# - 使用大量项目填充组合框
- webhooks - 如何从海康威视相机获取事件到我的 Typescript 项目,相机内部 API 是否有任何文档?
- python-3.x - 如何使用 python 从 Tableau Desktop 自动“手动刷新”?
- google-oauth - 如何以编程方式将凭据传递到 googleapiclient?
- spring - JSR Bigdecimal 验证不适用于@Digits
- python - 如何从图像中仅获取与 ex.71*71 重叠的补丁并在 Python 中显示它们?
- python - LDAP3查询部门python
- apache-flink - 任务管理器失败后的 Flink-RocksDB 行为