【问题标题】:Sending request to WinAppDriver (WebDriver) using Postman使用 Postman 向 WinAppDriver (WebDriver) 发送请求
【发布时间】:2021-05-09 23:16:11
【问题描述】:

最近,我尝试使用 xPath 查询在我的 Windows 通用应用程序中查找一组元素。我正在使用 WinAppDriver 来自动化测试。具体的挑战是,由于应用程序的性质和自动化,将我的应用程序自动化到可以执行 xPath 查询的程度需要 60-90 秒。由于我对 xPath 查询不是很熟悉,因此我需要通过只能描述为试错过程的方法来识别所需的查询。进行代码更改、重新构建应用程序以及运行应用程序直到评估 xPath 查询的总时间意味着我每次迭代都需要几分钟时间,而且这个过程非常缓慢。我决定如果我可以在测试代码中设置一个断点,将代码执行到被测应用程序处于所需状态的点,然后使用 Postman 执行多个查询,我会发现效率更高我需要运行的确切查询。

【问题讨论】:

    标签: selenium-webdriver postman appium


    【解决方案1】:

    可以将 Appium 或 Selenium 请求发送到与 WebDriver 兼容的服务。不建议将此方法作为替代自动化技术,但可以方便地调试特定命令。

    步骤如下:

    1. 创建一个新的 Postman 环境来包含您的 WinAppDriver 请求
    2. 在此环境中创建一个新的请求选项卡
    3. WebDriver 请求的 URL 应采用以下格式“http://[ip address:port]/session/{{sessionID}}/[command]。
    4. IP 地址应与启动 WebDriver 服务时使用的 WebDriver 地址相匹配。通常,默认为 127.0.0.1
    5. 端口是连接WebDriver服务时指定的端口。默认情况下,通常为 4723,但可以在运行时在本地计算机上启动 WebDriver 服务时指定。
    6. 可以在 WinAppDriver 控制台窗口中找到会话 ID

    下面的屏幕截图显示了 WinAppDriver 命令的捕获。第一个圆圈区域是上面查询中应该使用的会话 ID 值。第二个圆圈区域是 IP 地址和端口 ID 值,第三个区域是发送的查询正文。此查询正文对应于 WinAppDriver 命令。

    相应的 Postman 查询将如下面的屏幕截图所示。

    我将 Content-Type 设置为“application/json”。请注意,上面屏幕截图的最后一行是响应内容,并再次包含会话变量以及已发现元素的元素 ID。 [command] 值和任何可选的查询正文特定于所需的命令。弄清楚这一点的最佳方法是从自动化软件中运行所需的命令,并参考 WinAppDriver 输出以查看正在发送的命令。通常,我在调试器中我要执行的行上设置一个断点,然后在查看 WinAppDriver 输出窗口时单步执行该命令。这让我可以准确地确定与我的命令相对应的输出。然后,您可以在调试器中停止测试应用程序时从 PostMan 发送多个命令。在完成之前不要关闭测试应用程序,因为这将释放会话连接。 这种方法可以让您快速尝试所需命令的不同迭代,并查看 WinAppDriver 是否找到所需的控件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 2021-06-24
      • 2018-06-28
      • 2023-03-16
      • 1970-01-01
      • 2020-09-12
      • 2017-07-10
      相关资源
      最近更新 更多