【发布时间】:2014-11-11 21:45:12
【问题描述】:
我有几台机器希望安排执行。我需要远程访问这些机器以进行执行。每当我从这些机器开始执行并最小化会话时,我的脚本就会失败。所以只是想知道 QTP 脚本是否可以在保持会话最小化的同时执行。如果是,则需要在脚本中进行哪些更改。谢谢。
【问题讨论】:
标签: automation qtp
我有几台机器希望安排执行。我需要远程访问这些机器以进行执行。每当我从这些机器开始执行并最小化会话时,我的脚本就会失败。所以只是想知道 QTP 脚本是否可以在保持会话最小化的同时执行。如果是,则需要在脚本中进行哪些更改。谢谢。
【问题讨论】:
标签: automation qtp
当您最小化此窗口时,操作系统会将远程会话切换到无 GUI 模式并且不显示窗口和控件。因此,测试无法与被测应用程序的 GUI 交互,因为在这种情况下 GUI 实际上并不存在。
您需要更改计算机(即您连接到远程 QTP 工作站的计算机)上的注册表项。以下是分步说明:
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\RemoteDesktop_SuppressWhenMinimized 的键中创建一个新的 DWORD 值。指定 2 作为值数据。就是这样。现在最小化您计算机上的远程桌面连接窗口不会影响远程计算机的 GUI,并且 GUI 仍可用于您的自动化 GUI 测试。
【讨论】:
您面临的问题是,如果您将显示器最小化,移除机器就会知道它没有显示器,并忽略有关控制位置和移动鼠标请求的任何问题。在某些情况下,QTP 使用 device replay 运行测试,这意味着测试将失败。
要解决这个问题,您需要让远程机器认为它仍然有某人连接到它。一种方法是(显然)不最小化或关闭远程桌面会话。另一种方法是使用远程访问程序,它在最小化时不会通知远程机器,此类程序的免费示例是VNC,如果我没记错的话,你甚至可以关闭 VNC 会话(不仅仅是最小化它)和测试仍然会成功运行。
【讨论】: