51Testing软件测试论坛

标题: 达人速进:启用虚拟桌面的情况下QTP的使用 [打印本页]

作者: z93620104    时间: 2008-11-12 11:22
标题: 达人速进:启用虚拟桌面的情况下QTP的使用
我们公司的产品属于安全应用方面的产品,安全性要求比较高,现在就加入了虚拟桌面的支持,可这样在使用QTP的过程中发现:虚拟桌面一起来,QTP就录不到启用后的一些对应操作了。我是新手,不知道这个问题如何解决,期待大家的帮助!谢谢

[ 本帖最后由 z93620104 于 2008-11-12 11:29 编辑 ]
作者: xiaoshancom    时间: 2008-11-12 11:45
你说的多桌面是否是这样生成的桌面?
  1.     ::SECURITY_ATTRIBUTES sa;
  2.     sa.bInheritHandle = TRUE;
  3.     sa.nLength = sizeof(SECURITY_ATTRIBUTES);
  4.     sa.lpSecurityDescriptor = NULL;
  5.      
  6.     HDESK hD1 = CreateDesktop("w", NULL,
  7.         NULL,0,MAXIMUM_ALLOWED,
  8.         NULL);
  9.     ::STARTUPINFO sui;
  10.      :ROCESS_INFORMATION pi;
  11.     ::ZeroMemory ((PVOID)&sui, sizeof(sui));
  12.     sui.cb = sizeof (sui);
  13.     sui.lpDesktop = _T("w");
  14.     ::CreateProcess (NULL,"explorer",NULL,NULL,TRUE,
  15.         CREATE_DEFAULT_ERROR_MODE|CREATE_SEPARATE_WOW_VDM,NULL,NULL,&sui,&pi);
  16.     HDESK hD2 = GetThreadDesktop(GetCurrentThreadId());
  17.     ::SwitchDesktop(hD1);
  18.     ::Sleep(6000);
  19.     ::SwitchDesktop(hD2);
复制代码

作者: z93620104    时间: 2008-11-12 12:36
你的是多桌面,是吗?我说的是虚拟桌面,也就是安全桌面,比如说进行登陆操作的时候启用了安全桌面,那么这时候你就只能对登陆框的输入进行密码输入的操作,绝大部分其他操作都无法进行,包括窗口监视
作者: momang    时间: 2008-11-12 13:49
添加虚拟对象的办法行得通么

或是更改录制模式
作者: xiaoshancom    时间: 2008-11-12 18:11
标题: 回复 3# 的帖子
如果是像windows登录窗口那样的安全性,那就很困难了。
不过windows提供了无人值守脚本饶过去。

你需要询问你公司的DEV能否写一个service之类的在此安全窗口启动前执行,或者直接hook/Inject到此安全窗口上。

不过我想,以上设想是很难的,因为你公司产品是安全产品,如果能的话,就已经证明了它的失效。可以让你公司的DEV提供类似微软解决方案的接口。

[ 本帖最后由 xiaoshancom 于 2008-11-12 18:13 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2