如何将测试文件存入ALM并从UFT访问以用作上传测试输入
我经常帮团队处理ALM和UFT集成的问题,这个需求其实很常见,我给你拆解成上传文件到ALM和从UFT访问文件两步来解决:
一、把测试文件上传到ALM
方式1:ALM界面手动上传(适合少量文件)
这是最直观的方式,适合单次上传几个文件:
- 打开ALM并登录到你的项目,切换到**测试资源库(Test Resources)**模块
- 右键点击你想存放文件的目标文件夹,选择添加资源(Add Resource)
- 在弹出的窗口里,点击浏览选择本地的pdf、docx或jpg文件,填写资源名称、描述(可选),确认后完成上传
- 上传后你就能在资源库中看到这些文件,ALM会把它们存储在服务器端,你可以随时查看或编辑资源属性
方式2:批量上传(适合大量文件,用ALM API)
如果需要上传很多文件,手动操作太麻烦,可以用ALM的OLE自动化脚本批量处理,比如用VBScript写个小脚本:
' 初始化ALM连接 Set almConn = CreateObject("TDApiOle80.TDConnection") almConn.InitConnectionEx "http://你的ALM服务器地址/qcbin" almConn.Login "你的用户名", "你的密码" almConn.Connect "你的域", "你的项目名" ' 上传单个文件的示例(可以循环处理多个文件) Set resourcesFactory = almConn.TestResources Set newResource = resourcesFactory.AddItem(Nothing) newResource.Name = "测试用PDF文件" newResource.ResourceType = "FILE" newResource.Post ' 先创建资源条目 newResource.UploadResource "C:\本地文件路径\test.pdf", True ' 上传本地文件到ALM newResource.Commit ' 提交更改 ' 关闭连接 almConn.Logout almConn.ReleaseConnection
二、从UFT访问ALM中的测试文件
UFT和ALM集成后,可以直接通过内置对象获取ALM中的文件,核心思路是把ALM上的资源下载到本地临时目录,然后用这个本地路径作为上传测试的输入:
基础实现示例
' 先确保UFT已连接到ALM(如果没连接的话) If Not QCUtil.IsConnected Then QCUtil.Connect "http://你的ALM服务器地址/qcbin", "你的域", "你的项目名", "你的用户名", "你的密码" End If ' 根据资源名称获取ALM中的资源对象 Set targetResource = QCUtil.QCConnection.TestResources.Item("测试用PDF文件") ' 把资源下载到UFT的临时目录(第二个参数True表示覆盖已存在的同名文件) localFilePath = targetResource.DownloadResource("", True) ' 现在就可以用localFilePath作为上传控件的输入了,比如Web上传场景: Browser("上传页面").Page("上传表单").WebFile("文件选择框").Set localFilePath
额外注意事项
- 版本兼容:确保UFT和ALM的版本匹配,避免API调用出现异常
- 临时文件清理:UFT会话结束后,临时目录的文件可能会被自动清理,如果需要保留文件,可以在
DownloadResource的第一个参数指定自定义本地路径 - 权限问题:你的ALM账号需要拥有测试资源库的读写权限,同时UFT连接ALM的账号也要有对应项目的访问权限
内容的提问来源于stack exchange,提问作者plaidshirt
相关产品推荐
相关产品推荐

