【问题标题】:can we execute QTP script on remote machine by keeping session minimized我们可以通过保持会话最小化在远程机器上执行 QTP 脚本吗
【发布时间】:2014-11-11 21:45:12
【问题描述】:

我有几台机器希望安排执行。我需要远程访问这些机器以进行执行。每当我从这些机器开始执行并最小化会话时,我的脚本就会失败。所以只是想知道 QTP 脚本是否可以在保持会话最小化的同时执行。如果是,则需要在脚本中进行哪些更改。谢谢。

【问题讨论】:

    标签: automation qtp


    【解决方案1】:

    当您最小化此窗口时,操作系统会将远程会话切换到无 GUI 模式并且不显示窗口和控件。因此,测试无法与被测应用程序的 GUI 交互,因为在这种情况下 GUI 实际上并不存在。

    您需要更改计算机(即您连接到远程 QTP 工作站的计算机)上的注册表项。以下是分步说明:

    1. 关闭在您的计算机上打开的远程桌面会话。
    2. 点击开始并选择运行。在“运行”对话框中,键入 regedit 并按 Enter。注册表编辑器启动
    3. 找到以下任一注册表项:
      HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\
      (如果您想更改您的用户帐户的 RDC 设置)
      -- 或 --
      HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\
      (如果您想更改所有帐户的 RDC 设置)
    4. 在这个名为 RemoteDesktop_SuppressWhenMinimized 的键中创建一个新的 DWORD 值。指定 2 作为值数据。

    就是这样。现在最小化您计算机上的远程桌面连接窗口不会影响远程计算机的 GUI,并且 GUI 仍可用于您的自动化 GUI 测试。

    来自:http://blog.smartbear.com/post/10-10-11/testcomplete-tip-running-tests-in-minimized-remote-desktop-windows/

    【讨论】:

    • 但是移动鼠标的请求并没有从当前机器发送到远程机器。 QTP 脚本仅托管在远程计算机中。那为什么它会在最小化窗口时产生问题?
    【解决方案2】:

    您面临的问题是,如果您将显示器最小化,移除机器就会知道它没有显示器,并忽略有关控制位置和移动鼠标请求的任何问题。在某些情况下,QTP 使用 device replay 运行测试,这意味着测试将失败。

    要解决这个问题,您需要让远程机器认为它仍然有某人连接到它。一种方法是(显然)不最小化或关闭远程桌面会话。另一种方法是使用远程访问程序,它在最小化时不会通知远程机器,此类程序的免费示例是VNC,如果我没记错的话,你甚至可以关闭 VNC 会话(不仅仅是最小化它)和测试仍然会成功运行。

    【讨论】:

    • @Motti :但是移动鼠标的请求不会从当前机器发送到远程机器。 QTP 脚本仅托管在远程计算机中。那么最小化连接是如何影响远程机器的呢?
    • @ashwin 是因为windows和rdp的集成,rdp告诉windows没有显示,windows会做相应的动作
    • @Motti :不,你的意思是说远程机器的显示受到影响?喜欢它关闭吗?
    • @Ashwin,当您使用 RDP 连接时,物理显示器(如果有,在 VM 上没有)断开连接,屏幕将显示用户被锁定。当 RDP 会话断开连接时,物理显示器不会自动重新连接,并且没有活动显示器连接到计算机。
    猜你喜欢
    • 1970-01-01
    • 2012-08-23
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多