Testcomplete的预定执行失败

时间:2011-01-28 07:16:31

标签: scheduled-tasks testcomplete

使用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测试失败。

要避免此问题,您可以在测试运行期间保持远程桌面窗口可见,但这可能不方便,因为它占用了部分甚至整个屏幕,并且为您运行本地应用程序留下的空间更少

对此有何解决方案?

3 个答案:

答案 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服务,那么它将起作用。