如何在QTP的SystemUtil.Run命令中配置代理启动Chrome访问google.com?
在QTP/UFT中为Chrome配置代理的最佳实践
针对你用SystemUtil.Run启动Chrome访问google.com、需要走公司代理的需求,这里有几种实用的脚本实现方案,按推荐优先级排序:
1. 启动时通过Chrome命令行参数指定代理
这是最直接且轻量化的方案,临时生效不会影响其他Chrome实例或系统全局设置,完全符合临时代理的需求。你只需要在启动命令中添加--proxy-server参数:
' 替换成你的公司代理地址和端口,格式为 协议://地址:端口 Dim proxyConfig proxyConfig = "http://proxy.yourcompany.com:8080" ' 拼接启动命令,将代理参数附加到目标URL后 SystemUtil.Run "C:\Program Files\Google\Chrome\Application\chrome.exe", "google.com --proxy-server=" & proxyConfig
⚠️ 注意:如果你的代理需要用户名密码认证,Chrome命令行不支持直接传递认证信息。这种情况建议先让用户在系统中保存代理认证凭据(比如通过Windows凭据管理器),或者采用下面的自定义配置文件方案。
2. 使用预配置代理的Chrome用户数据目录
如果需要让测试用的Chrome实例固定使用公司代理,可以提前手动配置好一个Chrome用户 profile,然后在脚本中指定这个目录启动:
' 自定义一个专门用于测试的Chrome用户目录路径 Dim testProfileDir testProfileDir = "C:\UFT_Test_Chrome_Profile" ' 启动Chrome时指定该目录,会自动加载其中的代理配置 SystemUtil.Run "C:\Program Files\Google\Chrome\Application\chrome.exe", "google.com --user-data-dir=" & testProfileDir
配置步骤很简单:手动打开Chrome,进入设置配置好公司代理,然后找到Chrome的默认用户目录(通常在C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data),复制一份到上面的testProfileDir路径即可。
3. 通过UFT的WebUtil对象设置系统级代理
UFT提供了WebUtil对象可以直接操作系统代理设置,适合需要统一管理代理的场景,但注意这种方式会修改全局系统代理,使用后建议恢复原设置:
' 先保存原始代理配置,避免影响其他应用 Dim originalHttpProxy, originalHttpsProxy Set originalHttpProxy = WebUtil.GetProxy("http") Set originalHttpsProxy = WebUtil.GetProxy("https") ' 设置公司代理 WebUtil.SetProxy "http", "proxy.yourcompany.com", 8080 WebUtil.SetProxy "https", "proxy.yourcompany.com", 8080 ' 启动Chrome访问目标页面 SystemUtil.Run "C:\Program Files\Google\Chrome\Application\chrome.exe", "google.com" ' 测试完成后恢复原始代理设置 WebUtil.SetProxy "http", originalHttpProxy.Host, originalHttpProxy.Port WebUtil.SetProxy "https", originalHttpsProxy.Host, originalHttpsProxy.Port
方案选择建议
- 优先选命令行参数方案:实现简单、无副作用,适合单次测试的临时代理需求;
- 若需固定代理配置,选自定义用户目录:持久化配置,无需每次重复设置;
- 系统级代理方案仅在需要统一管理所有浏览器代理时使用,记得一定要恢复原设置。
内容的提问来源于stack exchange,提问作者surya
相关产品推荐
相关产品推荐

