Vbscript 有没有办法通过QTP接受UAC提示?
我创建了一个需要运行可执行文件(在本例中为卸载脚本)的自动测试。这会导致Windows 7显示一个用户帐户控制提示,在QTP测试继续之前需要接受该提示 目前,我不得不将UAC降低到“不要调暗我的桌面”级别,以便将对话框添加到对象存储库中。我尝试单击“是”按钮录制,但QTP没有注意到我的操作,因此我必须手动添加对象 即使如此,当我添加行Vbscript 有没有办法通过QTP接受UAC提示?,vbscript,automated-tests,uac,qtp,gui-testing,Vbscript,Automated Tests,Uac,Qtp,Gui Testing,我创建了一个需要运行可执行文件(在本例中为卸载脚本)的自动测试。这会导致Windows 7显示一个用户帐户控制提示,在QTP测试继续之前需要接受该提示 目前,我不得不将UAC降低到“不要调暗我的桌面”级别,以便将对话框添加到对象存储库中。我尝试单击“是”按钮录制,但QTP没有注意到我的操作,因此我必须手动添加对象 即使如此,当我添加行对话框(“用户帐户控制”).WinButton(“Yes”)。单击,我从QTP收到未指定错误 编辑: 我还尝试使用下面的代码点击屏幕上的任意点(这里恰好有“是”按钮
对话框(“用户帐户控制”).WinButton(“Yes”)。单击
,我从QTP收到未指定错误
编辑:
我还尝试使用下面的代码点击屏幕上的任意点(这里恰好有“是”按钮)
Set dr=CreateObject(“Mercury.deviceplay”)
鼠标点击1030550,鼠标左键
好消息是,光标正好落在“是”按钮上,不幸的是,单击不起作用
QTP有没有办法在不完全禁用UAC的情况下接受UAC提示?我不知道QTP是什么,但问题是它试图单击不允许的按钮 Windows阻止应用程序以编程方式单击同意对话框。这样做是为了防止所谓的。此外,如果允许代码查看并单击UAC同意对话框,恶意软件可能会单击UAC提示本身 有一种机制允许程序声明它们需要能够驱动用户界面;允许软件查看并单击UAC对话框。这是一种严重的安全风险,应用程序需要:
- 数字签名
- 可以从程序文件运行
**uiAccess=true**
选项:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<!-- Disable Windows Vista UAC compatability heuristics -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
:
现在,大多数人并不真正理解这是为了什么,UAC清单通常只是一个复制/粘贴事件。但是远程桌面开发人员关注它是值得的。对于任何常规的软件,您通常都希望远离它——这是危险的,并且避开了一个重要的安全特性(UIPI)。但是,如果你正在远程处理桌面,它正是你想要的——你需要能够看到一切
事实上,如果不对应用程序进行数字签名,我们将不允许您进行设置,这已经够危险的了。默认情况下,还必须将其安装在安全位置(如程序文件)