了解 SystemUtil.Run、SetSecure、Set、Type: QTP/UFT

⚡ 智能摘要

SystemUtil.Run 是 UFT 一个命令可以在运行会话开始时启动文件或应用程序,而 Set、SetSecure 和 Type 则会将值和按键输入到它打开的窗口中。

  • 🔘 自动插入: 从以下位置启动应用程序 Windows 录制过程中开始菜单 UFT 我会为你编写 SystemUtil.Run 步骤。
  • ☑️ 五个论点: Run 接受文件、参数、目录、操作和模式,因此一条语句可以打开、编辑、浏览、查找或打印目标。
  • ✅ 集合与类型: Set 直接将值写入字段,而 Type 发送人类需要的原始按键,例如 micTab。
  • 🧪 设置安全密码: 记录的密码以编码字符串的形式存储,无法还原成原始文本。
  • 🛠️ 密码编码器: 在录制会话之外,密码编码器 GUI 和 CryptonCMD.exe 会生成相同的编码字符串。
  • 📌 当前名称: QTP 现在 OpenText 功能测试(UFT 一),SystemUtil.Run 取代了旧式的 InvokeApplication 语句。

SystemUtil.Run、SetSecure、Set 和 Type 语句 QTP/UFT 一个剧本

SystemUtil.Run UFT

每个录制的 GUI 测试都需要一个第一步,即在屏幕上显示被测应用程序。 OpenText 功能测试(UFT One,前身为 Micro Focus UFT 最初是惠普 QTP),这一步是 SystemUtil.Run让我们来理解以下代码片段。

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • 第一步是 SystemUtil.Run 命令是默认使用的命令。 UFT/QTP 打开应用程序。 在录制过程中,使用 Windows 开始菜单,我们导航到“航班预订当时,Micro Focus 是一家应用程序公司。 UFT 确定了其可执行文件的位置,并插入了 SystemUtil.Run 命令来打开它。
  • 第 2 行是将代理名称设置为 Guru 如活动屏幕所示
  • 第三行是按下键盘上的Tab键,将焦点从代理姓名字段移到密码字段,也就是这一步。 人类用户需要使用 Tab 键或点击操作来聚焦屏幕上的特定对象。另一方面, 快速测试 可以直接使用对象属性来识别对象,而不需要这些“操纵”操作我们可以删除这一步骤,因为 UFT 即使不进行此操作,用户仍然可以设置密码字段。
  • 第 4 行将密码设置为 Mercury. UFT 一个会自动加密密码 录制时输入 以避免安全漏洞。此值无法解密,即无法使用此加密数据恢复原始值。您可以使用密码编码器工具明确加密密码。出于学习目的,我们将使用原始形式的密码。操作也将更改为设置
  • 第 5 行单击确定按钮
  • 第 6 行正在关闭窗口

⚠️ 版本说明: 上面记录的路径指向旧处 C:\Program Files\HP\samples\flight 惠普使用的位置 QTP示例航班预订应用程序仍然随附 UFT 一是位于当前安装文件夹下,因此今天录制的脚本中的实际路径会有所不同。

点击 开始 如果视频无法访问

SystemUtil.Run 语法和参数

上面记录的代码行只使用了第一个参数,但该方法接受五个参数。了解所有参数后,SystemUtil.Run 就不再是录制器生成的代码,而是可以手动编写的启动步骤。

SystemUtil.Run file, [params], [dir], [op], [mode]
争论 需要? 它做什么
文件 其他要求 要运行的文件或应用程序的名称。非可执行文件将在其关联的应用程序中打开。
的params 可选 传递给应用程序的参数 文件 是一个可执行文件。默认值为空字符串。
DIR 可选 应用程序或文件的默认目录。默认值为空字符串。
op 可选 执行的操作:打开、编辑、浏览、查找或打印。留空则执行打开操作。
模式 可选 控制窗口打开时显示方式的整数。默认值为 1。

此 op 论证是大多数测试人员永远不会发现的。它对应于相同的动词。 Windows 在资源管理器中,右键单击即可查看相关选项。

操作值 成果
open 打开名为的文件、文件夹或可执行文件 文件.
编辑 启动编辑器并打开文档进行编辑。如果文件不是可编辑文档,则操作失败。
探索 浏览名为“ 文件.
发现 从指定的文件夹路径开始搜索。
打印 打印名为“”的文档 文件如果文件不可打印,则此操作失败。

对于 模式日常使用中真正重要的值是 0(隐藏窗口并激活另一个窗口)、1(激活并以原始大小显示)、2(激活后最小化)和 3(激活后最大化)。更高的值控制焦点和恢复行为,在测试中很少需要用到。

SystemUtil.Run 示例:应用程序、浏览器和文件

以下示例逐一构建参数,以便您了解每个位置的作用。将它们粘贴到新操作中,然后逐行运行。

1)仅文件 ——最简洁实用的形式。系统路径上的可执行文件不需要文件夹,文档可以在任何应用程序中打开。 Windows 已注册。

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2)文件加参数 — 应用程序可以通过命令行接收的任何参数都放在这里。这样,浏览器就会打开一个特定的地址,而不是它的主页。

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3)添加目录 — 当应用程序只有在自身文件夹作为工作目录时才会拒绝启动时,此功能非常有用。

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4)添加操作 同一个文件,却产生了四种不同的结果。

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

5)添加模式 — 将窗口最大化打开,以免后续步骤被部分隐藏的控件阻挡。

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

因为启动的窗口会变成一个普通的测试对象,所以下一行代码就可以直接驱动它。官方文档正是这样将 Run 与 Type 和 Close 结合起来使用的。

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

注意描述性 文本:= 该代码片段中的形式:无需创建存储库条目。同样的理念在以下文档中有详细介绍: 描述性编程而像上面这样的硬编码路径通常最好保存在…… 环境变量 因此,每个机器上运行同一个脚本。

设置、设置安全、类型:应该使用哪种方法

录制脚本的第 2 至 4 行对同一种编辑字段使用了三种不同的方法。这些方法不可互换,选错方法是导致步骤静默执行、未输入任何内容的常见原因。

付款方式 它发送的内容 在以下情况下使用
米 将纯文本值直接写入字段。 正常数据输入,包括您乐意保持可读性的密码。
设置安全 写入一个编码字符串 UFT 运行时解码。 任何密码字段都不会出现在脚本或结果中。
类型 发送原始按键,包括 micTab 等按键。 键盘行为是测试的一部分,或者说控件只对真实的按键做出反应。

正如操作指南中所述,第 3 行的 Tab 键之所以存在,仅仅是因为录音机捕捉到了人类的习惯。 UFT 密码字段是通过其属性来识别的,因此删除该行不会产生任何影响。将 SetSecure 替换为 Set,相同的登录操作将使用可读密码运行。

Dialog("Login").WinEdit("Password:").Set "mercury"

要反过来,在录制会话之外对值进行编码,请使用 密码编码器GUI 工具随附 UFT 一、同样的编码也可以通过命令行实现, CryptonCMD.exe -e 在产品 bin 文件夹中。两者都会生成字符串,您可以将其放入 SetSecure 参数或放入 数据表参数供应商明确表示,这种编码方式并非安全标准:它只是隐藏了屏幕上的一个值,并不能保护真实的客户数据。

一旦这三种方法成为本能反应,语言的其余部分就会很快掌握—— VBScript基础知识 而且更广泛 UFT 一个教程系列 涵盖循环、条件和可重用函数,同时 对象侦测和获取ROProperty 向您展示哪些属性 UFT 其中一个实际上正在匹配。

常见问题

每当您从某个地方启动应用程序时,都会自动将 Run 语句写入测试中。 Windows 录制过程中,请使用“开始”菜单或“运行”对话框。谢谢。ping 手动输入也能得到相同的结果。

不。编码后的字符串无法还原成原始密码,因此丢失的值必须重新编码,而不是解密。如果密码更改,请替换整个参数。

使用随附的密码编码器工具 UFT 一种方法是运行 CryptonCMD.exe -e,后面跟上产品 bin 文件夹中的字符串。两种方法都会生成一个适用于 SetSecure 参数或数据表单元格的值。

录制和运行设置可以在第一步之前打开应用程序,并且旧的 InvokeApplication 语句仍然有效。供应商保留 InvokeApplication 只是为了向后兼容,并建议改用 Run。

除了 Window(…).Close 之外,SystemUtil 对象还提供了 CloseProcessByName、CloseProcessById、CloseProcessByHwnd、CloseProcessByWndTitle 和 CloseDescendentProcesses,它们会关闭运行会话启动的每个进程。

AI助手可以根据简单的英文描述生成运行、设置和类型语句,并在定位器出错时提供修复建议。不过,每行生成的语句在运行前仍需对照实际对象的属性进行检查。

Copilot 可以在它支持的任何编辑器中自动补全 VBScript,因此可以快速搭建辅助函数或测试数据循环。 UFT 其中一台电脑没有 Copilot 插件,所以代码需要粘贴到编辑器中并在那里进行验证。

路径错误通常是原因:例如安装文件夹不同、32 位和 64 位程序文件文件夹不匹配,或者映射的驱动器不存在。将路径保存在环境变量中可以解决这个问题。

总结一下这篇文章: