【问题标题】:Robot Framework executing test on RDP clientRobot Framework 在 RDP 客户端上执行测试
【发布时间】:2021-02-18 15:11:26
【问题描述】:

我在我的电脑上安装了我的机器人框架。 我想连接到远程 Windows 客户端,让它打开浏览器并访问 URL。 验证页面是否已加载。 非常基本,但由于我是 RF 新手,我想知道它是如何工作的。 对于 Linux 机器,我会使用 SSHLibrary 并只执行命令 (wget),但对于 windows 机器,我需要使用浏览器。

  1. 我需要在目标客户端 RDP 上安装 RF 吗?
  2. 是否需要客户端 RDP 上每个浏览器的 Web 驱动程序?
  3. 如何通过 RDP 登录 Windows 机器?
  4. 使用 RDP 登录后,我使用浏览器和 URL 运行相同的“打开浏览器”?

谢谢!!!

【问题讨论】:

  • 为什么需要连接远程windows客户端?它对您的测试至关重要吗?直接在windows pc上运行测试不够吗?

标签: selenium robotframework


【解决方案1】:

您描述的用例 - 在远程机器上打开和控制的浏览器正是 Selenium 解决的问题。
虽然在日常工作或调试中我们通常启动本地浏览器,但 SE 最初是为远程执行而设计的。所以前往www.selenium.dev,并专注于the Grid - 这就是您所追求的组件。

我就是那个方法,回答你的具体问题:

  1. 不,您需要在本地机器上使用 Robot Framework 和 selenium 库,而在远程机器上只需要 selenium 和 webdriver。
  2. 您不需要客户端上的驱动程序 - selenium 库是您在代码中与之通信的全部;您只需要将它们安装在遥控器中。
  3. 在本地,您将获得 webdriver 命令执行的日志;实际的浏览器操作日志仅在远程和集线器上(但这些实际上是调试日志,功能执行的所有高级内容都是本地的)
  4. 您并没有真正使用这种方法登录 RDP(RDP 完全不在此处),是的 - 您的代码与在本地浏览器上运行的代码相同 - Open BrowserGet Text 等 - 但是,在远程机器上执行。

如果您想了解 1) 和 2) 的原因,请前往 the answer over here(无耻的插头?)

【讨论】:

  • 您好,非常感谢您的详细回复。
  • 我对此有点陌生,所以如果我的问题看起来太简单,请原谅我。我仍然不明白我如何将这个网格实现到 RF 中。我需要加载另一个库来获取其他关键字吗?我在 SeleniumLibrary 中找不到任何可以打开远程连接并在其上运行多个命令的关键字。您是否必须有类似的示例测试用例?在任何地方都找不到任何带有 RF 的网格实现。提前致谢!
  • 我基本上测试的是一个网关。我有一个 gw 后面的客户端,我想打开一个浏览器并测试良性和恶意网站。测试将是这样的 - 1. 连接到远程机器(如果需要)。 2. 打开浏览器(ff/chrome/edge) 3. 输入网址 4. 验证页面是否已加载/被阻止 5. 可能会截屏。当我在自己的 RF PC 上进行操作时,它就足够简单了。如何在远程 Windows PC 上执行此操作? (例如,使用 wget/curl 在远程 linux 机器上通过 SSHLibrary 运行命令也很容易)。 win10需要用浏览器来模拟UX。
  • Selenium Grid 不是射频组件(或库)——它是一个独立的产品。所以谷歌不是如何用 RF 实现网格,而只是网格本身。它基本上是一个服务器,控制着运行浏览器的执行机器。您的客户端 - RF - 连接到 Grid,并声明它想要一台 X 类型的机器 - 例如 Windows 上的 Chrome,如果 Grid 有这样的机器 - 使用它。对于客户端(机器人框架),这是透明的——你只需向Open Browser 提供一个remote_url 参数——这是网格的IP,所有命令都在远程浏览器上完成。
  • 感谢您的详细回复!只是想更新它的工作原理,并以下列方式供将来参考 - 硒服务器需要在 Windows 10 客户端上运行(使用默认的 4444 端口或您选择的任何其他端口) - java -jar selenium ... .jar 之后,您需要在 windows 机器上的目录和 PATH 环境变量中拥有相关的 webdriver。然后,您可以使用带有完整 selenium 服务器 url 的 remote_url 参数的打开浏览器 - remote_url=http://${ClientIP}:4444/wd/hub 谢谢!
猜你喜欢
  • 2015-01-31
  • 2021-10-03
  • 2017-12-17
  • 2016-12-24
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 2016-12-02
相关资源
最近更新 更多