了解 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 其中一个实际上正在匹配。
