使用TestComplete 8,我们有一个脚本,计划每天早上06:00从这一行开始:
“C:\ Program Files \ Automated QA \ TestComplete 8 \ Bin \ TestComplete.exe”“C:\ Attracs \ TestComplete \ Attracs \ AttracsTEST \ AttracsTESTProject.mds”/ r / e / SilentMode
问题是这经常失败。日志评论说: 调用“TcxCustomInnerTextEdit”对象的“Keys”方法或属性时发生错误。 该对象或其父对象之一不存在。
如果我使用远程桌面连接到计算机并手动运行脚本,它可以正常工作。 没有屏幕保护程序处于活动状态,并且电源方案设置为永不休眠。
我注意到Testcomplete需要一个GUI句柄(屏幕可见)或脚本出现这种错误。可能是它在启动时没有GUI组件的句柄,因为它们不可见?
从帮助通过远程桌面运行测试:
但是,如果最小化远程桌面窗口(显示远程计算机桌面的窗口),操作系统会将远程会话切换到无GUI模式,并且不显示窗口和控件。因此,TestComplete(或TestExecute)无法与测试应用程序的GUI进行交互,因为在这种情况下GUI实际上并不存在,并且您的自动GUI测试失败。
要避免此问题,您可以在测试运行期间保持远程桌面窗口可见,但这可能不方便,因为它占用了部分甚至整个屏幕,并且为您运行本地应用程序留下的空间更少
对此有何解决方案?
答案 0 :(得分:1)
有一种方法可以使Windows中的控制台连接始终处于活动状态,这样就可以在不实际连接RDP的情况下使TestComplete工作。
来自:Running Tests in Minimized Remote Desktop Windows
登录到您的计算机 连接到远程计算机。
关闭所有打开的远程桌面 会话。
启动注册表编辑器 (Regedit.exe)中。
如果您有32位操作系统:
找到 HKEY_CURRENT_USER \软件\微软\终端 如果您是Server Client \ Registry密钥 想要更改连接设置 仅限当前用户。
- 或 -
找到 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\终端 如果您是Server Client \ Registry密钥 想要更改连接设置 为所有用户。
在此键中创建一个新的DWORD值 并命名 RemoteDesktop_SuppressWhenMinimized。
指定2作为值数据。
如果您有64位操作系统:
找到 HKEY_CURRENT_USER \ SOFTWARE \ Wow6432Node \微软\终端 如果您是Server Client \ Registry密钥 想要更改连接设置 仅限当前用户。
- 或 -
找到 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\终端 如果您是Server Client \ Registry密钥 想要更改连接设置 为所有用户。
添加 RemoteDesktop_SuppressWhenMinimized 钥匙的价值。
答案 1 :(得分:0)
我找到了这个页面 http://www.automatedqa.com/support/viewarticle/12567/viewarticle.aspx?aid=12567
似乎解决方案可能是在虚拟机中运行TestComplete。
/罗兰
答案 2 :(得分:0)
要运行任何UI测试,UI必须可用。因此,应该解锁机器,以便TestComplete可以执行用户操作,如鼠标点击,按键等工作。
但是,如果您进行非UI测试,例如运行Web服务,那么它将起作用。