【问题标题】:How to Set DesiredCapabilities for a WPF App如何为 WPF 应用程序设置 DesiredCapabilities
【发布时间】:2018-05-07 16:37:25
【问题描述】:

我开发了一个简单的 WPF 应用程序。我想对我的应用程序进行一些 UI 自动化测试。我开始关注this tutorial,了解如何使用 Appium 和 Windows 应用程序驱动程序进行自动化。

作为设置测试环境以测试 Windows 计算器应用程序的一部分,以下行被添加到测试脚本中:

protected const string WindowsApplicationDriverUrl = “http://127.0.0.1:4723";

DesiredCapabilities appCapabilities = new DesiredCapabilities();

appCapabilities.SetCapability(“app”, “57b3a460–8843–4d84–822a-9f316274c2bf_tz6ph9wdjhqw8!App”);

IOSDriver<IOSElement> AppSession = new IOSDriver<IOSElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);

查看第 3 行,提供了一个应用程序标识符来设置 DesiredCapabilities。我的问题是我无法为我的 WPF 应用程序查找或生成类似的应用程序 ID。在教程的后面,作者提到:

"在第三行中,我们为“app”设备能力设置了一个奇怪的标识符,您需要将此值替换为您的值。可以在RegisteredUserModeAppID节点下找到生成的AppX\vs.appxrecipe文件。

&lt;RegisteredUserModeAppID&gt;57b3a460–8843–4d84–822a-9f316274c2bf_tz6ph9wdjhqw8!App&lt;/RegisteredUserModeAppID&gt;"

你能告诉我这个 appID 是如何在 Visual Studio 中生成的吗?另外,是否有其他方法可以在不提供 appID 的情况下设置 DesiredCapabilities? GUID 可以用于此目的吗?

【问题讨论】:

    标签: wpf visual-studio selenium ui-automation winappdriver


    【解决方案1】:

    只有 UWP 应用程序有应用程序 ID,经典的 Windows 应用程序可以通过可执行文件的路径启动:

    appCapabilities.SetCapability("app", pathToYourExecutable);
    

    另见 WinAppDriver 的自述文件: Testing a Classic Windows Application

    【讨论】:

      【解决方案2】:

      您在调试应用程序时应该能够找到它。 如果您调试应用程序并在第一个实例中设置断点。

      然后在您的调试选项卡中,您应该能够查看您正在寻找的节点。

      【讨论】:

      • 你能详细说明一下吗?我需要一个特定的应用程序 ID。设置断点如何帮助我获得一个?
      • 构建后,您应该在此处找到包含 id 的所需文件 - "project_directory"\bin\x86\Debug\AppX\vs.appxrecipe。
      • 所以只是给你一个想法,我有一个由 3 个子项目组成的解决方案,每个子项目代表我的应用程序的模型、视图和视图模型。这些项目中的每一个都存储在解决方案文件夹下的单独文件夹中。现在,当我在 Debug/x86 模式下构建我的应用程序时,我的项目的可执行文件可以在 [Solution Folder]\ [view]\bin\Debug 下找到,但 AppX 不存在。我的问题是如何生成?
      猜你喜欢
      • 2011-03-09
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多