【问题标题】:How to Prepare HP QTP/UFT scripts for Dynamic Fields?如何为动态字段准备 HP QTP/UFT 脚本?
【发布时间】:2017-09-05 11:50:23
【问题描述】:

此处需要帮助来准备 HP UFT 测试脚本以在选择时动态更改输入字段。

场景:

我有 2 种类型的列表项,它将根据选择显示各种字段。 1.14 位卡 - 执行客户注册(不同字段) 2.16 数字卡 - 执行客户注册(不同字段)

我可以使用 if 条件或任何其他条件来准备关键字驱动的框架来为上述类型的场景准备测试脚本吗?

假设使用 14 位卡登录。

Browser("name:=Login Screen").Page("title:=Login Screen").List(html id:=cardtypes).Select "#1"
Browser("name:=Login Screen").Page("title:=Login Screen").WebEdit("html id:=userNameId").Set khuname
Browser("name:=Login Screen").Page("title:=Login Screen").WebEdit("html id:=passwordId").Set khpasswd
Browser().Page().WebButton().Click

点击登录后,在客户注册中只显示选择的卡类型字段,像这样我想为整个应用程序编写代码 模块,请帮助我如何为这种类型的应用程序准备测试脚本。

【问题讨论】:

  • 是的。首先,您需要在html id:=cardtypes 周围加上一些引号。至于选择哪一种卡类型,你当然可以简单地检查卡号的长度,然后根据它选择合适的卡类型,然后与出现的任何一组字段进行交互?

标签: vbscript automated-tests qtp hp-uft


【解决方案1】:

此时在不知道 Fields 类型的情况下,这有点难说。 这取决于对象属性或它们的位置

假设 14 位卡类型有 10 个字段,16 位卡类型有 15 个字段。 其中5-6个是通用的,那么你可以在你的函数的Common处对它们进行操作。 如果您的 Fields 对象属性中有某些部分发生了变化(例如名称或 htmlid 等,那么您可以将其存储在 OR 中,使其属性正则表达式启用。)

正如我所说,这取决于您的字段对象的属性以及其他因素。

如果它们也不同,您可以创建一个函数来处理数组/字典(这可以在运行时提供数组/字典值,也可以将它们配置为从 xml、txt、excel 文件中读取并将它们存储在数组/字典中。)

保留数组/或第一个键值对字典的第一个元素以指定卡片类型,其余的用于字段值。在此基础上,您可以做出决定并创建您的功能。

你的函数应该如下所示。例如使用数组

公共函数 CardRegister(*****传递数组/字典对象****) { ' 假设数组对象是 objArr

如果 (objArr(0)="14 位卡") 那么

。从 Weblist 中选择所需条目

'在这里进行14位卡注册

Elseif (objArr(0)="16 Digit card") 然后

。从 Weblist 中选择所需条目

'在这里进行16位卡注册

如果结束

' 如果有公共字段,则可以在 Common are 中对 then 进行操作。

'***************常用字段**********

'-----做点什么

'************* 常用字段 ***********

'点击注册按钮然后验证是否成功

}

现在您可以将此 CardRegister 功能作为关键字和任一用户提及

1)评估

2) 执行

将您的函数称为关键字。 (这个关键字也可以放在xml/txt/excel文件中&你可以配置你调用函数的方式)

这样你就可以实现了。我希望你有一个想法。如果您有任何疑虑,请告诉我。

【讨论】:

    最近更新 更多