一种基于QTP的自动化测试方法及系统.pdf

上传人:小** 文档编号:1036409 上传时间:2018-03-27 格式:PDF 页数:12 大小:473.50KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110256730.4

申请日:

2011.09.01

公开号:

CN102331971A

公开日:

2012.01.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20110901|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

北京用友政务软件有限公司

发明人:

李化

地址:

100094 北京市海淀区北清路68号用友软件园11号楼2层

优先权:

专利代理机构:

北京天悦专利代理事务所(普通合伙) 11311

代理人:

田明;任晓航

PDF下载: PDF下载
内容摘要

本发明公开了一种基于QTP的自动化测试方法及系统,涉及测试工具技术领域。本发明所述的方法通过流程控制模块读取测试用例文件,再通过语言框架脚本模块将测试用例文件组合成能够被QTP识别的标准语言,最后通过QTP程序本身执行测试。该方法能够使测试人员以日常测试用例编写的思维习惯,在测试人员不需要对QTP程序本身做出过多了解,即可依据平时的测试用例思维来设计自动化测试用例,减少了对QTP本身的学习时间,减小了脚本的维护工作量,解决的脚本维护成本高的问题。

权利要求书

1: 一种基于 QTP 的自动化测试方法, 包括以下步骤 : (1) 启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 选择一个指定的测试 用例执行列表, 并输入需要执行的测试用例函数 ; 框架程序包括流程控制模块、 语言框架脚 本模块和测试用例文件组模块 ; (2) 通过流程控制模块获取并打开所要执行的测试用例文件, 获取测试用例文件的相 关参数 ; 所述相关参数包括操作类型、 操作控件类型和输入数据 ; (3) 将测试用例文件的相关参数传递给语言框架脚本模块, 由语言框架脚本模块将测 试用例文件组合成可被 QTP 程序识别的操作语句, 并反馈给 QTP 程序执行 ; (4) 流程控制模块读取 QTP 程序执行的测试结果, 并将测试结果回写到测试用例文件。
2: 如权利要求 1 所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (1) 中, 所述 QTP 脚本包是为使用 QTP 程序建立的一个空脚本文件夹, 文件夹中配置了框架程序的 VBS 文件, QTP 程序通过装载指定的 VBS 文件, 运行 VBS 文件中的框架程序。
3: 如权利要求 1 所述的基于 QTP 的自动化测试方法, 其特征在于 : 测试用例执行列表 为测试用例文件的集合, 测试用例文件是由若干个测试用例条目组成的。
4: 如权利要求 1 或 3 所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (1) 中, 所 述测试用例执行列表是由测试人员手动编辑的。
5: 如权利要求 1 所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (2) 中, 所述操 作类型包括打开、 单击、 双击、 选择、 录入、 录入表、 关闭、 和验证 ; 所述操作控件类型包括按 钮、 菜单、 树、 单选钮、 复选框、 标签、 表格、 文本框、 下拉框和超级链接 ; 所述输入数据是向文 本框内输入的指定文本或者随机文本, 在输入时能够选择树的指定节点和随机节点。
6: 如权利要求 1 所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (3) 中, 由语言 框架脚本模块将测试用例文件组合成可被 QTP 程序识别的操作语句的具体步骤为 : i、 装载测试用例文件操作控件的面板和对话框, 语言框架脚本模块获取当前桌面上存 在的面板, 通过对话框组合出面板到达操作控件的路径 ; ii、 通过测试用例文件的操作类型、 操作控件类型或者名称组合出 QTP 程序识别的操 作语句 ; iii、 将面板到达操作控件的路径和组合出的 QTP 程序识别的操作语句再次组合成为 完成语句反馈给 QTP 程序。
7: 如权利要求 1 所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (4) 中, 测试结 果包括 OK 和 NG 两种 ; OK 表示测试用例条目的执行结果正常, NG 表示测试用例条目的执行 结果异常。
8: 如权利要求 7 所述的基于 QTP 的自动化测试方法, 其特征在于 : 当测试结果为 OK 且 输入内容为随机文本时, 流程控制模块会记录随机产生的内容。
9: 如权利要求 7 所述的基于 QTP 的自动化测试方法, 其特征在于 : 当测试结果为 NG 时, 流程控制模块会记录相应的测试用例条目执行结果异常的原因, 并对该测试用例条目进行 截图。
10: 如权利要求 5 至 9 之一所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (2) 中, 测试用例文件中的相关参数中还包括 “参数数据” , 在 “参数数据” 中设有两个预制结果 参数 : “NG” 和 “PIC” , 预制结果参数 NG 表示当测试用例文件本身的测试结果为 NG 时, 流程 2 控制模块会将测试用例条目的测试结果自动修改为 OK ; PIC 表示无论测试用例文件的测试 结果是 OK 还是 NG, 流程控制模块都会对测试用例条目进行截图。
11: 如权利要求 10 所述的所述的基于 QTP 的自动化测试方法, 其特征在于 : 步骤 (4) 中, 在得到测试用例条目的测试结果后, 若测试用例条目的 “参数数据” 中存在预制结果参 数, 会将测试结果与该测试用例条目的 “参数数据” 列中的预制结果参数进行比对, 并将对 比修改后的测试结果保存 ; 若测试用例条目的 “参数数据” 中不存在预制结果参数则直接保 存测试结果。
12: 如权利要求 11 所述的基于 QTP 的自动化测试方法, 其特征在于 : 将测试结果与预 制结果参数对比的方法为 : 若测试结果为 NG 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的测试 结果自动修改为 OK ; 若测试结果为 OK 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的测试 结果自动修改为 NG ; 若预制结果参数为 PIC, 无论测试用例文件的测试结果是 OK 还是 NG, 流程控制模块都 会对测试用例条目进行截图。
13: 如权利要求 10 所述的基于 QTP 的自动化测试方法, 其特征在于 : 所述截图的命名 规则为 “错误 _ 用例名称 _ 序列 X 号用例截图 .jpg” ; 其中, X 为测试用例文件中测试用例 条目所在序列中的序列号。
14: 一种基于 QTP 的自动化测试系统, 包括 : 启动模块 : 用于启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 并选择指 定的测试用例执行列表 ; 框架程序包括流程控制模块、 语言框架脚本模块和测试用例文件 组模块 ; 流程控制模块 : 用于获取并打开需要 QTP 程序执行的测试用例文件, 获取 QTP 程序的测 试结果并将测试结果回写到测试用例文件 ; 语言框架脚本模块 : 用于将测试用例文件组合成可被 QTP 程序识别的操作语句, 并反 馈给 QTP 程序 ; 公共函数库模块 : 用于生成测试用例文件在测试过程中所需要的输入数据。 测试用例文件组模块 : 用于保存测试人员编辑的测试用例文件。
15: 如权利要求 14 所述的基于 QTP 的自动化测试系统, 其特征在于 : 所述 QTP 脚本包 是为使用 QTP 程序建立的一个空脚本文件夹, 文件夹中配置了框架程序的 VBS 文件, QTP 程 序通过装载指定的 VBS 文件, 运行 VBS 文件中的框架程序。 。
16: 如权利要求 14 所述的基于 QTP 的自动化测试系统, 其特征在于 : 通过语言框架脚 本模块将测试用例文件组合成可被 QTP 程序识别的操作语句的具体步骤为 : ①、 装载测试用例文件操作控件的面板和对话框, 语言框架脚本模块获取当前桌面上 存在的面板, 通过对话框组合出面板到达操作控件的路径 ; ②、 通过测试用例文件的操作类型、 操作控件类型或者名称组合出 QTP 程序识别的操 作语句 ; ③、 将面板到达操作控件的路径和组合出的 QTP 程序识别的操作语句再次组合成为完 成语句反馈给 QTP 程序。

说明书


一种基于 QTP 的自动化测试方法及系统

    【技术领域】
     本发明涉及测试工具技术领域, 具体涉及一种面向 JAVASWING 基于自动化测试工 具 QTP 的可执行脚本语言的自动化测试方法及系统。背景技术
     自动化测试工具 QTP(QuikcTest Profession) 是以关键字作为驱动的一款录制、 回放的自动化测试软件, 在录制过程中会产生大量的控件集合以支持录制脚本的运行。其 采用 VBScript 作为脚本语言, 并同时可调用由外部编写的 VBScript 脚本。 一般 QTP 工具应 用在相对成熟的产品中, 使用该软件进行流程测试、 回归测试以及部分程序初始化工作 ;
     QTP 的录制后的脚本是可编辑的, 也可以使用描述性语言对控件进行描述, 并且 QTP 自身提供大量的 API 函数库可供调用。在现有的 QTP 程序中, 录制、 编辑后的脚本重复 使用的效率是很低下的, 并且由于被测试程序的变动也会导致脚本维护量的上升, 对于 QTP 本身软件的学习也存在一定的难度, 因此需要提炼出一种语言组合框架和方法来符合日常 测试用例编写的思维习惯, 减少对 QTP 软件本身的学习时间, 可快速进入自动化阶段, 从而 减小脚本的维护工作量。 发明内容 针对现有技术中存在的缺陷和实际应用的需要, 本发明的目的在于提供一种面向 JAVASWING 基于 QTP 的自动化测试方法及系统, 使测试人员不需要对 QTP 程序本身做出过多 了解, 以平时的设计测试用例的思维即可设计自动化测试用例。
     为实现上述目的, 本发明采用的技术方案如下 :
     一种基于 QTP 的自动化测试方法, 包括以下步骤 :
     (1) 启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 选择一个指定的 测试用例执行列表, 并输入需要执行的测试用例函数 ; 框架程序包括流程控制模块、 语言框 架脚本模块和测试用例文件组模块 ;
     (2) 通过流程控制模块获取并打开所要执行的测试用例文件, 获取测试用例文件 的相关参数 ; 所述相关参数包括操作类型、 操作控件类型和输入数据 ;
     (3) 将测试用例文件的相关参数传递给语言框架脚本模块, 由语言框架脚本模块 将测试用例文件组合成可被 QTP 程序识别的操作语句, 并反馈给 QTP 程序执行 ;
     (4) 流程控制模块读取 QTP 程序执行的测试结果, 并将测试结果回写到测试用例 文件。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (1) 中, 所述 QTP 脚本 包是为使用 QTP 程序建立的一个空脚本文件夹, 文件夹中配置了框架程序的 VBS 文件, QTP 程序通过装载指定的 VBS 文件, 运行 VBS 文件中的框架程序。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 测试用例执行列表为测试 用例文件的集合, 测试用例文件是由若干个测试用例条目组成的。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (1) 中, 步骤 (1) 中, 所 述测试用例执行列表是由测试人员手动编辑的。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (2) 中, 所述操作类型 包括打开、 单击、 双击、 选择、 录入、 录入表、 关闭、 和验证 ; 所述操作控件类型包括按钮、 菜 单、 树、 单选钮、 复选框、 标签、 表格、 文本框、 下拉框和超级链接 ; 所述输入数据是向文本框 内输入的指定文本或者随机文本, 在输入时能够选择树的指定节点和随机节点。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (3) 中, 由语言框架脚 本模块将测试用例文件组合成可被 QTP 程序识别的操作语句的具体步骤为 :
     i、 装载测试用例文件操作控件的面板和对话框, 语言框架脚本模块获取当前桌面 上存在的面板, 通过对话框组合出面板到达操作控件的路径 ;
     ii、 通过测试用例文件的操作类型、 操作控件类型或者名称组合出 QTP 程序识别 的操作语句 ;
     iii、 将面板到达操作控件的路径和组合出的 QTP 程序识别的操作语句再次组合 成为完成语句反馈给 QTP 程序。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (4) 中, 测试结果包括 OK 和 NG 两种 ; OK 表示测试用例条目的执行结果正常, NG 表示测试用例条目的执行结果异 常。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 当测试结果为 OK 且输入内 容为随机文本时, 流程控制模块会记录随机产生的内容。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 当测试结果为 NG 时, 流程控 制模块会记录相应的测试用例条目执行结果异常的原因, 并对该测试用例条目进行截图。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (2) 中, 测试用例文 件中的相关参数中还包括 “参数数据” , 在 “参数数据” 中设有两个预制结果参数 : “NG” 和 “PIC” , 预制结果参数 NG 表示当测试用例文件本身的测试结果为 NG 时, 流程控制模块会将 测试用例条目的测试结果自动修改为 OK ; PIC 表示无论测试用例文件的测试结果是 OK 还是 NG, 流程控制模块都会对测试用例条目进行截图。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 步骤 (4) 中, 在得到测试用 例条目的测试结果后, 若测试用例条目的 “参数数据” 中存在预制结果参数, 会将测试结果 与该测试用例条目的 “参数数据” 列中的预制结果参数进行比对, 并将对比修改后的测试结 果保存 ; 若测试用例条目的 “参数数据” 中不存在预制结果参数则直接保存测试结果。
     进一步, 如上所述的一种基于 QTP 的自动化测试方法, 将测试结果与预制结果参 数对比的方法为 :
     若测试结果为 NG 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的 测试结果自动修改为 OK ;
     若测试结果为 OK 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的 测试结果自动修改为 NG ;
     若预制结果参数为 PIC, 无论测试用例文件的测试结果是 OK 还是 NG, 流程控制模 块都会对测试用例条目进行截图。
     再进一步, 如上所述的一种基于 QTP 的自动化测试方法, 所述截图的命名规则为“错误 _ 用例名称 _ 序列 X 号用例截图 .jpg” ; 其中, X 为测试用例文件中测试用例条目所在 序列中的序列号。
     基于上述 QTP 的自动化测试方法的一种基于 QTP 的自动化测试系统, 包括 :
     启动模块 : 用于启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 并选 择指定的测试用例执行列表 ; 框架程序包括流程控制模块、 语言框架脚本模块和测试用例 文件组模块 ;
     流程控制模块 : 用于获取并打开需要 QTP 程序执行的测试用例文件, 获取 QTP 程序 的测试结果并将测试结果回写到测试用例文件 ;
     语言框架脚本模块 : 用于将测试用例文件组合成可被 QTP 程序识别的操作语句, 并反馈给 QTP 程序 ;
     公共函数库模块 : 用于生成测试用例文件在测试过程中所需要的输入数据。
     测试用例文件组模块 : 用于保存测试人员编辑的测试用例文件。
     进一步, 如上所述的一种基于 QTP 的自动化测试系统, 所述启动模块包括一个可 执行程序脚本即所述的 QTP 脚本包, QTP 脚本包是为使用 QTP 程序建立的一个空脚本文件 夹, 文件夹中配置了框架程序的 VBS 文件, QTP 程序通过装载指定的 VBS 文件, 运行 VBS 文 件中的框架程序。 。 再进一步, 如上所述的一种基于 QTP 的自动化测试系统, 通过语言框架脚本模块 将测试用例文件组合成可别 QTP 程序识别的操作语句的具体步骤为 :
     ①、 装载测试用例文件操作控件的面板和对话框, 语言框架脚本模块获取当前桌 面上存在的面板, 通过对话框组合出面板到达操作控件的路径 ;
     ②、 通过测试用例文件的操作类型、 操作控件类型或者名称组合出 QTP 程序识别 的操作语句 ;
     ③、 将面板到达操作控件的路径和组合出的 QTP 程序识别的操作语句再次组合成 为完成语句反馈给 QTP 程序。
     本发明的效果在于 : 本发明所述的方法及系统符合日常测试用例编写的习惯, 能 够使测试人员不需要对 QTP 本身做出过多了解, 只要以平时的设计测试用例的思维即可设 计自动化测试用例, 大大减小了脚本的维护工作量, 解决脚本维护成本高的问题。
     附图说明
     图 1 为本发明一种基于 QTP 的自动化测试系统的结构图 ; 图 2 为本发明一种基于 QTP 的自动化测试方法的流程图 ; 图 3 为具体实施方式中测试用例文件的示意图 ; 图 4 为具体实施方式中测试用例文件的测试结果示意图。具体实施方式
     下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
     图 1 示出了本发明一种基于 QTP 的自动化测试系统的结构图, 该测试系统主要包 括:
     启动模块 11 : 用于启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 并选择指定的测试用例执行列表 ; 框架程序包括流程控制模块、 语言框架脚本模块和测试用 例文件组模块 ;
     所述 QTP 脚本包是为使用 QTP 程序建立的一个空脚本文件夹, 文件夹中配置了框 架程序的 VBS 文件, QTP 程序通过装载指定的 VBS 文件, 运行 VBS 文件中的框架程序。
     流程控制模块 12 : 用于获取并打开需要 QTP 程序执行的测试用例文件, 获取 QTP 程序的测试结果并将测试结果回写到测试用例文件 ;
     语言框架脚本模块 13 : 用于将测试用例文件组合成可被 QTP 程序识别的操作语 句, 并反馈给 QTP 程序 ;
     公共函数库模块 14 : 用于生成测试用例文件中所要求的一些数据。
     测试用例文件组模块 15 : 用于保存测试人员编辑的测试用例文件。
     该自动化测试系统的工作流程图为 : 首先, 启动模块 11 启动 QTP 程序, 装载预制的 带有引用框架程序的 QTP 脚本包, 并选择测试用例文件组中指定的测试用例执行列表, 将 需要执行的测试用例函数输入到 QTP 程序中, 然后调用流程控制模块 12, 流程控制模块 12 获取并打开所要执行的测试用例文件, 通过语言框架脚本模块 13 将测试用例文件组合出 可被 QTP 识别的操作语言, 并将组合后的测试用例文件通过流程控制模块 12 反馈给 QTP 程 序执行, 在执行完毕后, 流程控制模块 12 会读取执行结果, 并与预制参数结果进行比对将 测试结果回写到测试用例文件的结果列, 并对结果异常的测试用例条目截图。在测试的过 程中, 所需要的输入数据和其他一些数据都是由公共函数库模块 14 提供的, 例如随机文本 ( 包括字符、 数字、 汉字等 )、 创建截图、 在截图上打印文字等功能。 图 2 是出了基于图 1 中基于 QTP 的自动化测试系统的一种基于 QTP 的自动化测试 方法的流程图, 该方法主要包括以下步骤 :
     步骤 S11 : 启动 QTP 程序, 选择测试用例执行列表 ;
     通过启动模块 11, 启动 QTP 程序, 装载预制的带有引用框架程序的 QTP 脚本包, 选 择一个指定的测试用例执行列表, 并输入需要执行的测试用例函数。 其中, 框架程序包括流 程控制模块、 语言框架脚本模块和测试用例文件组模块 ; QTP 脚本包是为使用 QTP 程序建立 的一个空脚本文件夹, 文件夹中配置了框架程序的 VBS 文件, QTP 程序通过装载指定的 VBS 文件, 运行 VBS 文件中的框架程序。测试用例文件保存在测试用例执行列表中, 测试用例文 件是由若干个测试用例条目组成的。测试用例执行列表保存在测试用例文件组模块中。测 试用例执行列表是一个可编辑的文本文件 ( 如一个 .txt 文件 ), 通过选着指定的测试用例 列表, 就可以确定所需要执行的具体的测试用例文件的路径, 即通过获取指定的测试用例 执行列表的内容得到具体需要执行的测试用例文件的路径 ( 如得到具体执行哪个 excel 文 件的哪个页签的路径 ), 在测试用例执行列表文件中需要执行的部分与不需要执行的部分 可以通过设定的标识区分, 如在列表文件中不需要执行的部分的可以在行前端设置 “__” 标 识来识别。在启动 QTP 程序后, 输入需要执行的测试用例函数。其中, 测试用例执行列表中 的测试用例文件是由测试人员按常规的测试用例设计逻辑手动编辑的。例如 :
     用户名输入 : 张三 ; 密码框输入 : 12345, 单击” 登录” 按钮, 预期结果为 : 出现提示 面板, 输入密码错误, 当编辑自动化测试用例时, 一般可以这样书写 :
     步骤 S12 : 获取测试用例文件的相关参数 ;
     在步骤 S11 选择好指定的测试用例执行列表中的测试用例文件后, 通过流程控制 模块 12 获取测试用例文件并打开, 获取测试用例文件的相关参数包括所要执行的测试用 例文件的操作类型、 操作控件类型和输入数据等内容。
     本实施方式中以 excel 文件格式的测试用例文件为例进行说明, 当测试用例文件 为 excel 文件时, 如图 3 所示, 其中的操作类型就包括了打开、 单击、 双击、 选择、 录入、 录入 表、 关闭、 和验证等操作 ; 操作控件类型包括按钮、 菜单、 树、 单选钮、 复选框、 标签、 表格、 文 本框、 下拉框和超级链接等 ; 输入数据是向文本框内输入的指定文本或者随机文本, 包括随 机字符、 汉字、 数字、 excel 的行列格式转换、 数据库的连接等, 在输入时能够选择树的指定 节点和随机节点。在使用随机产生的字符的情况下, 对于 excel 文件, 可以直接使用 excel 所提供的公式, 例如 : = G23, 来直接获取 G23 单元格中的内容, 在需要与其他文字共同组合 成输入数据, 可以描述为 : 例如 : 单位地址= Cell(F24) 来表明获取单元格 F24 中的内容作 为输入数据。
     步骤 S13 : 将测试用例文件组合成可被 QTP 程序识别的操作语句, 并反馈给 QTP 程 序执行 ;
     将步骤 S12 中获取的测试用例文件的相关参数传递给语言框架脚本模块 13, 由语 言框架脚本模块 13 将测试用例文件组合成可被 QTP 程序识别的操作语句即形成 QTP 能够 识别的标准语言, 并反馈给 QTP 程序执行。其中, 通过语言框架脚本模块将测试用例文件组 合成可别 QTP 程序识别的操作语句的具体步骤为 :
     ①、 装载测试用例文件操作控件的面板和对话框, 语言框架脚本模块获取当前桌 面上存在的面板, 通过对话框组合出面板到达操作控件的路径 ;
     ②、 通过测试用例文件的操作类型、 操作控件类型或者名称组合出 QTP 程序识别 的操作语句 ;
     ③、 将面板到达操作控件的路径和组合出的 QTP 程序识别的操作语句再次组合成 为完成语句反馈给 QTP 程序。
     例如 : QTP 程序通过录制形成的本身认可的执行语句为 : JavaWindow(“支付系 统” ).JavaDialog(“登录” ).JavaEdit(“用户名” ).set“999800002” , 而由语言框架脚 本框架使用描述性语言会通过判断当前界面的面板情况 (JavaWindow 和 JavaDialog 的情 况, 当界面存在多余的面板时和对话框, 程序会提示关闭多余面板, 再继续执行 ), 以及通 过读取测试用例获取需要执行的具体控件来组合成控件执行语句, 最后通过描述性语言
     构造的结果为 : JavaWindow(“to_class: = JavaWindow” ).JavaDialog(“to_calss: = JavaDialog” ).JavaEdit(“attached text: =用户名” ).set“999888002” 这样即可形成 QTP 可识别执行语句。
     步骤 S14 : 读取并保存 QTP 程序的测试结果。
     在步骤 S13 中 QTP 程序执行完毕后, 流程控制模块 12 读取 QTP 程序的执行结果, 并 将读取的执行结果与预期结果比对, 将比对后的测试结果回写到测试用例文件。 其中, 测试 结果包括 OK( 测试用例条目的执行结果正常 ) 和 NG( 表示测试用例条目的执行结果异常 ) 两种。
     当测试结果为 OK 且输入内容为随机内容时, 流程控制模块 12 会记录随机产生的 内容。随机产生的内容可记录在测试用例文件的备注列中, , 保存在 “备注” 的内容可以作 为下一步测试的输入数据 ; 例如在图 4 中, 序列号为 8 输入数据位 Random 的测试条目, 其测 试过程中随机产生的内容, 即 “备注” 项中的数据可以作为下一次测试的输入数据。
     当测试结果为 NG 时, 流程控制模块 12 会记录相应的测试用例条目执行结果异常 的原因, 并对该测试用例条目进行截图。截图的命名规则为 “错误 _ 用例名称 _ 序列 X 号用 例截图 .jpg” ; 其中, X 为测试用例文件中测试用例条目所在序列中的序列号。
     此外, 在测试用例文件的相关参数中还包括 “参数数据” , 在 “参数数据” 中设有两 个预制结果参数 : “NG” 和 “PIC” , 预制结果参数 NG 表示当测试用例文件本身的测试结果为 NG 时, 流程控制模块会将测试用例条目的测试结果自动修改为 OK ; PIC 表示无论测试用例 文件的测试结果是 OK 还是 NG, 流程控制模块都会对测试用例条目进行截图。 在 QTP 程序执 行完毕得到测试用例条目的测试结果后, 若测试用例条目的 “参数数据” 中存在预制结果参 数, 会将测试结果与该测试用例条目的 “参数数据” 列中的预制结果参数进行比对, 并将对 比修改后的测试结果保存 ; 若测试用例条目的 “参数数据” 中不存在预制结果参数则直接保 存测试结果。将测试结果与预制结果参数对比的方法为 :
     若测试结果为 NG 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的 测试结果自动修改为 OK ; 例如, 在需要测试某一数据是否删除成功时, 会通过程序查找该 数据是否存在, 若删除成功了, 该数据的查找失败就会显示测试结果为 NG, 而删除成功正是 所需要的结果, 所以通过在预制参数结果中设置 NG 这一结果, 将测试结果自动修改为 NG, 达到所需要的结果。
     若测试结果为 OK 且预制结果参数为 NG 时, 流程控制模块会将该测试用例条目的 测试结果自动修改为 NG ;
     若预制结果参数为 PIC, 无论测试用例文件的测试结果是 OK 还是 NG, 流程控制模 块都会对测试用例条目进行截图。
     当测试用例条目的 “参数数据” 中不存在预制结果参数, 可以通过在测试用例条目 中设置标志性的数据来查看测试结果是否正确, 例如在查看数据是否录入成功时, 可以使 用查看表格中是否存在设置的标志性的数据来验证, 如查看数据条数的变化, 若发生变化 说明数据录入成功。
     在 测 试 用 例 执 行 列 表 中 的 全 部 测 试 用 例 文 件 执 行 完 毕 后, 保存并关闭文件 (excel), 以保存测试结果, 如图 4 中所示, 对于序号 1 中操作类型为单击 Active, 操作控件 类型为菜单 JavaMenu, 输入数据为系统功能的指定文本的 excel 文件的测试用例条目, 其测试结果为 OK, 表示单击的动作确实发生了 ; 对于序号 6 中操作类型为验证 JVerify 的测 试用例条目, 该测试用例条目的条目中设置了输入数据 “请选择您要修改的数据! ” 在进行 该条目的测试时, 就会在面板上应该出现 “请选择您要修改的数据! ” 的提示, 在得到该测 试条目的实际反馈结果后会将该实际的测试结果与测试用例中的输入数据进行比对, 差一 个字或者一个空格, 测试结果都会显示为 NG, 并同时反馈给测试用例条目进行结果记录, 可 以通过该方法来验证文字类测试结果是否正确。
     本发明是为解决繁重的脚本维护和 QTP 软件学习成本而产生的, 但是本发明也需 要了解具体的测试用例编写规范, 对于公司目前而言看, 可以解决部分产品回归、 流程测试 的问题, 该方法目前仅限在 JAVASWING 开发的程序上使用。
     显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围 之内, 则本发明也意图包含这些改动和变型在内。

一种基于QTP的自动化测试方法及系统.pdf_第1页
第1页 / 共12页
一种基于QTP的自动化测试方法及系统.pdf_第2页
第2页 / 共12页
一种基于QTP的自动化测试方法及系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种基于QTP的自动化测试方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于QTP的自动化测试方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102331971A43申请公布日20120125CN102331971ACN102331971A21申请号201110256730422申请日20110901G06F11/3620060171申请人北京用友政务软件有限公司地址100094北京市海淀区北清路68号用友软件园11号楼2层72发明人李化74专利代理机构北京天悦专利代理事务所普通合伙11311代理人田明任晓航54发明名称一种基于QTP的自动化测试方法及系统57摘要本发明公开了一种基于QTP的自动化测试方法及系统,涉及测试工具技术领域。本发明所述的方法通过流程控制模块读取测试用例文件,再通过语言框架脚本模块将测试用例。

2、文件组合成能够被QTP识别的标准语言,最后通过QTP程序本身执行测试。该方法能够使测试人员以日常测试用例编写的思维习惯,在测试人员不需要对QTP程序本身做出过多了解,即可依据平时的测试用例思维来设计自动化测试用例,减少了对QTP本身的学习时间,减小了脚本的维护工作量,解决的脚本维护成本高的问题。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图2页CN102331984A1/2页21一种基于QTP的自动化测试方法,包括以下步骤1启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,选择一个指定的测试用例执行列表,并输入需要执行的测试用例函数;框架程序。

3、包括流程控制模块、语言框架脚本模块和测试用例文件组模块;2通过流程控制模块获取并打开所要执行的测试用例文件,获取测试用例文件的相关参数;所述相关参数包括操作类型、操作控件类型和输入数据;3将测试用例文件的相关参数传递给语言框架脚本模块,由语言框架脚本模块将测试用例文件组合成可被QTP程序识别的操作语句,并反馈给QTP程序执行;4流程控制模块读取QTP程序执行的测试结果,并将测试结果回写到测试用例文件。2如权利要求1所述的基于QTP的自动化测试方法,其特征在于步骤1中,所述QTP脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文件。

4、,运行VBS文件中的框架程序。3如权利要求1所述的基于QTP的自动化测试方法,其特征在于测试用例执行列表为测试用例文件的集合,测试用例文件是由若干个测试用例条目组成的。4如权利要求1或3所述的基于QTP的自动化测试方法,其特征在于步骤1中,所述测试用例执行列表是由测试人员手动编辑的。5如权利要求1所述的基于QTP的自动化测试方法,其特征在于步骤2中,所述操作类型包括打开、单击、双击、选择、录入、录入表、关闭、和验证;所述操作控件类型包括按钮、菜单、树、单选钮、复选框、标签、表格、文本框、下拉框和超级链接;所述输入数据是向文本框内输入的指定文本或者随机文本,在输入时能够选择树的指定节点和随机节点。

5、。6如权利要求1所述的基于QTP的自动化测试方法,其特征在于步骤3中,由语言框架脚本模块将测试用例文件组合成可被QTP程序识别的操作语句的具体步骤为I、装载测试用例文件操作控件的面板和对话框,语言框架脚本模块获取当前桌面上存在的面板,通过对话框组合出面板到达操作控件的路径;II、通过测试用例文件的操作类型、操作控件类型或者名称组合出QTP程序识别的操作语句;III、将面板到达操作控件的路径和组合出的QTP程序识别的操作语句再次组合成为完成语句反馈给QTP程序。7如权利要求1所述的基于QTP的自动化测试方法,其特征在于步骤4中,测试结果包括OK和NG两种;OK表示测试用例条目的执行结果正常,NG。

6、表示测试用例条目的执行结果异常。8如权利要求7所述的基于QTP的自动化测试方法,其特征在于当测试结果为OK且输入内容为随机文本时,流程控制模块会记录随机产生的内容。9如权利要求7所述的基于QTP的自动化测试方法,其特征在于当测试结果为NG时,流程控制模块会记录相应的测试用例条目执行结果异常的原因,并对该测试用例条目进行截图。10如权利要求5至9之一所述的基于QTP的自动化测试方法,其特征在于步骤2中,测试用例文件中的相关参数中还包括“参数数据”,在“参数数据”中设有两个预制结果参数“NG”和“PIC”,预制结果参数NG表示当测试用例文件本身的测试结果为NG时,流程权利要求书CN10233197。

7、1ACN102331984A2/2页3控制模块会将测试用例条目的测试结果自动修改为OK;PIC表示无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。11如权利要求10所述的所述的基于QTP的自动化测试方法,其特征在于步骤4中,在得到测试用例条目的测试结果后,若测试用例条目的“参数数据”中存在预制结果参数,会将测试结果与该测试用例条目的“参数数据”列中的预制结果参数进行比对,并将对比修改后的测试结果保存;若测试用例条目的“参数数据”中不存在预制结果参数则直接保存测试结果。12如权利要求11所述的基于QTP的自动化测试方法,其特征在于将测试结果与预制结果参数对比的方。

8、法为若测试结果为NG且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为OK;若测试结果为OK且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为NG;若预制结果参数为PIC,无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。13如权利要求10所述的基于QTP的自动化测试方法,其特征在于所述截图的命名规则为“错误_用例名称_序列X号用例截图JPG”;其中,X为测试用例文件中测试用例条目所在序列中的序列号。14一种基于QTP的自动化测试系统,包括启动模块用于启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,并选择。

9、指定的测试用例执行列表;框架程序包括流程控制模块、语言框架脚本模块和测试用例文件组模块;流程控制模块用于获取并打开需要QTP程序执行的测试用例文件,获取QTP程序的测试结果并将测试结果回写到测试用例文件;语言框架脚本模块用于将测试用例文件组合成可被QTP程序识别的操作语句,并反馈给QTP程序;公共函数库模块用于生成测试用例文件在测试过程中所需要的输入数据。测试用例文件组模块用于保存测试人员编辑的测试用例文件。15如权利要求14所述的基于QTP的自动化测试系统,其特征在于所述QTP脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文。

10、件,运行VBS文件中的框架程序。16如权利要求14所述的基于QTP的自动化测试系统,其特征在于通过语言框架脚本模块将测试用例文件组合成可被QTP程序识别的操作语句的具体步骤为、装载测试用例文件操作控件的面板和对话框,语言框架脚本模块获取当前桌面上存在的面板,通过对话框组合出面板到达操作控件的路径;、通过测试用例文件的操作类型、操作控件类型或者名称组合出QTP程序识别的操作语句;、将面板到达操作控件的路径和组合出的QTP程序识别的操作语句再次组合成为完成语句反馈给QTP程序。权利要求书CN102331971ACN102331984A1/7页4一种基于QTP的自动化测试方法及系统技术领域0001本。

11、发明涉及测试工具技术领域,具体涉及一种面向JAVASWING基于自动化测试工具QTP的可执行脚本语言的自动化测试方法及系统。背景技术0002自动化测试工具QTPQUIKCTESTPROFESSION是以关键字作为驱动的一款录制、回放的自动化测试软件,在录制过程中会产生大量的控件集合以支持录制脚本的运行。其采用VBSCRIPT作为脚本语言,并同时可调用由外部编写的VBSCRIPT脚本。一般QTP工具应用在相对成熟的产品中,使用该软件进行流程测试、回归测试以及部分程序初始化工作;0003QTP的录制后的脚本是可编辑的,也可以使用描述性语言对控件进行描述,并且QTP自身提供大量的API函数库可供调用。

12、。在现有的QTP程序中,录制、编辑后的脚本重复使用的效率是很低下的,并且由于被测试程序的变动也会导致脚本维护量的上升,对于QTP本身软件的学习也存在一定的难度,因此需要提炼出一种语言组合框架和方法来符合日常测试用例编写的思维习惯,减少对QTP软件本身的学习时间,可快速进入自动化阶段,从而减小脚本的维护工作量。发明内容0004针对现有技术中存在的缺陷和实际应用的需要,本发明的目的在于提供一种面向JAVASWING基于QTP的自动化测试方法及系统,使测试人员不需要对QTP程序本身做出过多了解,以平时的设计测试用例的思维即可设计自动化测试用例。0005为实现上述目的,本发明采用的技术方案如下0006。

13、一种基于QTP的自动化测试方法,包括以下步骤00071启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,选择一个指定的测试用例执行列表,并输入需要执行的测试用例函数;框架程序包括流程控制模块、语言框架脚本模块和测试用例文件组模块;00082通过流程控制模块获取并打开所要执行的测试用例文件,获取测试用例文件的相关参数;所述相关参数包括操作类型、操作控件类型和输入数据;00093将测试用例文件的相关参数传递给语言框架脚本模块,由语言框架脚本模块将测试用例文件组合成可被QTP程序识别的操作语句,并反馈给QTP程序执行;00104流程控制模块读取QTP程序执行的测试结果,并将测试结果回写到测试。

14、用例文件。0011进一步,如上所述的一种基于QTP的自动化测试方法,步骤1中,所述QTP脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文件,运行VBS文件中的框架程序。0012进一步,如上所述的一种基于QTP的自动化测试方法,测试用例执行列表为测试用例文件的集合,测试用例文件是由若干个测试用例条目组成的。说明书CN102331971ACN102331984A2/7页50013进一步,如上所述的一种基于QTP的自动化测试方法,步骤1中,步骤1中,所述测试用例执行列表是由测试人员手动编辑的。0014进一步,如上所述的一种基于QTP。

15、的自动化测试方法,步骤2中,所述操作类型包括打开、单击、双击、选择、录入、录入表、关闭、和验证;所述操作控件类型包括按钮、菜单、树、单选钮、复选框、标签、表格、文本框、下拉框和超级链接;所述输入数据是向文本框内输入的指定文本或者随机文本,在输入时能够选择树的指定节点和随机节点。0015进一步,如上所述的一种基于QTP的自动化测试方法,步骤3中,由语言框架脚本模块将测试用例文件组合成可被QTP程序识别的操作语句的具体步骤为0016I、装载测试用例文件操作控件的面板和对话框,语言框架脚本模块获取当前桌面上存在的面板,通过对话框组合出面板到达操作控件的路径;0017II、通过测试用例文件的操作类型、。

16、操作控件类型或者名称组合出QTP程序识别的操作语句;0018III、将面板到达操作控件的路径和组合出的QTP程序识别的操作语句再次组合成为完成语句反馈给QTP程序。0019进一步,如上所述的一种基于QTP的自动化测试方法,步骤4中,测试结果包括OK和NG两种;OK表示测试用例条目的执行结果正常,NG表示测试用例条目的执行结果异常。0020进一步,如上所述的一种基于QTP的自动化测试方法,当测试结果为OK且输入内容为随机文本时,流程控制模块会记录随机产生的内容。0021进一步,如上所述的一种基于QTP的自动化测试方法,当测试结果为NG时,流程控制模块会记录相应的测试用例条目执行结果异常的原因,并。

17、对该测试用例条目进行截图。0022进一步,如上所述的一种基于QTP的自动化测试方法,步骤2中,测试用例文件中的相关参数中还包括“参数数据”,在“参数数据”中设有两个预制结果参数“NG”和“PIC”,预制结果参数NG表示当测试用例文件本身的测试结果为NG时,流程控制模块会将测试用例条目的测试结果自动修改为OK;PIC表示无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。0023进一步,如上所述的一种基于QTP的自动化测试方法,步骤4中,在得到测试用例条目的测试结果后,若测试用例条目的“参数数据”中存在预制结果参数,会将测试结果与该测试用例条目的“参数数据”列中的预。

18、制结果参数进行比对,并将对比修改后的测试结果保存;若测试用例条目的“参数数据”中不存在预制结果参数则直接保存测试结果。0024进一步,如上所述的一种基于QTP的自动化测试方法,将测试结果与预制结果参数对比的方法为0025若测试结果为NG且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为OK;0026若测试结果为OK且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为NG;0027若预制结果参数为PIC,无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。0028再进一步,如上所述的一种基于QTP的自动化测试方法,所述截。

19、图的命名规则为说明书CN102331971ACN102331984A3/7页6“错误_用例名称_序列X号用例截图JPG”;其中,X为测试用例文件中测试用例条目所在序列中的序列号。0029基于上述QTP的自动化测试方法的一种基于QTP的自动化测试系统,包括0030启动模块用于启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,并选择指定的测试用例执行列表;框架程序包括流程控制模块、语言框架脚本模块和测试用例文件组模块;0031流程控制模块用于获取并打开需要QTP程序执行的测试用例文件,获取QTP程序的测试结果并将测试结果回写到测试用例文件;0032语言框架脚本模块用于将测试用例文件组合成可。

20、被QTP程序识别的操作语句,并反馈给QTP程序;0033公共函数库模块用于生成测试用例文件在测试过程中所需要的输入数据。0034测试用例文件组模块用于保存测试人员编辑的测试用例文件。0035进一步,如上所述的一种基于QTP的自动化测试系统,所述启动模块包括一个可执行程序脚本即所述的QTP脚本包,QTP脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文件,运行VBS文件中的框架程序。0036再进一步,如上所述的一种基于QTP的自动化测试系统,通过语言框架脚本模块将测试用例文件组合成可别QTP程序识别的操作语句的具体步骤为0037、。

21、装载测试用例文件操作控件的面板和对话框,语言框架脚本模块获取当前桌面上存在的面板,通过对话框组合出面板到达操作控件的路径;0038、通过测试用例文件的操作类型、操作控件类型或者名称组合出QTP程序识别的操作语句;0039、将面板到达操作控件的路径和组合出的QTP程序识别的操作语句再次组合成为完成语句反馈给QTP程序。0040本发明的效果在于本发明所述的方法及系统符合日常测试用例编写的习惯,能够使测试人员不需要对QTP本身做出过多了解,只要以平时的设计测试用例的思维即可设计自动化测试用例,大大减小了脚本的维护工作量,解决脚本维护成本高的问题。附图说明0041图1为本发明一种基于QTP的自动化测试。

22、系统的结构图;0042图2为本发明一种基于QTP的自动化测试方法的流程图;0043图3为具体实施方式中测试用例文件的示意图;0044图4为具体实施方式中测试用例文件的测试结果示意图。具体实施方式0045下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。0046图1示出了本发明一种基于QTP的自动化测试系统的结构图,该测试系统主要包括0047启动模块11用于启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,并说明书CN102331971ACN102331984A4/7页7选择指定的测试用例执行列表;框架程序包括流程控制模块、语言框架脚本模块和测试用例文件组模块;0048所述QT。

23、P脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文件,运行VBS文件中的框架程序。0049流程控制模块12用于获取并打开需要QTP程序执行的测试用例文件,获取QTP程序的测试结果并将测试结果回写到测试用例文件;0050语言框架脚本模块13用于将测试用例文件组合成可被QTP程序识别的操作语句,并反馈给QTP程序;0051公共函数库模块14用于生成测试用例文件中所要求的一些数据。0052测试用例文件组模块15用于保存测试人员编辑的测试用例文件。0053该自动化测试系统的工作流程图为首先,启动模块11启动QTP程序,装载预制的带有引。

24、用框架程序的QTP脚本包,并选择测试用例文件组中指定的测试用例执行列表,将需要执行的测试用例函数输入到QTP程序中,然后调用流程控制模块12,流程控制模块12获取并打开所要执行的测试用例文件,通过语言框架脚本模块13将测试用例文件组合出可被QTP识别的操作语言,并将组合后的测试用例文件通过流程控制模块12反馈给QTP程序执行,在执行完毕后,流程控制模块12会读取执行结果,并与预制参数结果进行比对将测试结果回写到测试用例文件的结果列,并对结果异常的测试用例条目截图。在测试的过程中,所需要的输入数据和其他一些数据都是由公共函数库模块14提供的,例如随机文本包括字符、数字、汉字等、创建截图、在截图上。

25、打印文字等功能。0054图2是出了基于图1中基于QTP的自动化测试系统的一种基于QTP的自动化测试方法的流程图,该方法主要包括以下步骤0055步骤S11启动QTP程序,选择测试用例执行列表;0056通过启动模块11,启动QTP程序,装载预制的带有引用框架程序的QTP脚本包,选择一个指定的测试用例执行列表,并输入需要执行的测试用例函数。其中,框架程序包括流程控制模块、语言框架脚本模块和测试用例文件组模块;QTP脚本包是为使用QTP程序建立的一个空脚本文件夹,文件夹中配置了框架程序的VBS文件,QTP程序通过装载指定的VBS文件,运行VBS文件中的框架程序。测试用例文件保存在测试用例执行列表中,测。

26、试用例文件是由若干个测试用例条目组成的。测试用例执行列表保存在测试用例文件组模块中。测试用例执行列表是一个可编辑的文本文件如一个TXT文件,通过选着指定的测试用例列表,就可以确定所需要执行的具体的测试用例文件的路径,即通过获取指定的测试用例执行列表的内容得到具体需要执行的测试用例文件的路径如得到具体执行哪个EXCEL文件的哪个页签的路径,在测试用例执行列表文件中需要执行的部分与不需要执行的部分可以通过设定的标识区分,如在列表文件中不需要执行的部分的可以在行前端设置“_”标识来识别。在启动QTP程序后,输入需要执行的测试用例函数。其中,测试用例执行列表中的测试用例文件是由测试人员按常规的测试用例。

27、设计逻辑手动编辑的。例如0057用户名输入张三;密码框输入12345,单击”登录”按钮,预期结果为出现提示面板,输入密码错误,当编辑自动化测试用例时,一般可以这样书写0058说明书CN102331971ACN102331984A5/7页80059步骤S12获取测试用例文件的相关参数;0060在步骤S11选择好指定的测试用例执行列表中的测试用例文件后,通过流程控制模块12获取测试用例文件并打开,获取测试用例文件的相关参数包括所要执行的测试用例文件的操作类型、操作控件类型和输入数据等内容。0061本实施方式中以EXCEL文件格式的测试用例文件为例进行说明,当测试用例文件为EXCEL文件时,如图3所。

28、示,其中的操作类型就包括了打开、单击、双击、选择、录入、录入表、关闭、和验证等操作;操作控件类型包括按钮、菜单、树、单选钮、复选框、标签、表格、文本框、下拉框和超级链接等;输入数据是向文本框内输入的指定文本或者随机文本,包括随机字符、汉字、数字、EXCEL的行列格式转换、数据库的连接等,在输入时能够选择树的指定节点和随机节点。在使用随机产生的字符的情况下,对于EXCEL文件,可以直接使用EXCEL所提供的公式,例如G23,来直接获取G23单元格中的内容,在需要与其他文字共同组合成输入数据,可以描述为例如单位地址CELLF24来表明获取单元格F24中的内容作为输入数据。0062步骤S13将测试用。

29、例文件组合成可被QTP程序识别的操作语句,并反馈给QTP程序执行;0063将步骤S12中获取的测试用例文件的相关参数传递给语言框架脚本模块13,由语言框架脚本模块13将测试用例文件组合成可被QTP程序识别的操作语句即形成QTP能够识别的标准语言,并反馈给QTP程序执行。其中,通过语言框架脚本模块将测试用例文件组合成可别QTP程序识别的操作语句的具体步骤为0064、装载测试用例文件操作控件的面板和对话框,语言框架脚本模块获取当前桌面上存在的面板,通过对话框组合出面板到达操作控件的路径;0065、通过测试用例文件的操作类型、操作控件类型或者名称组合出QTP程序识别的操作语句;0066、将面板到达操。

30、作控件的路径和组合出的QTP程序识别的操作语句再次组合成为完成语句反馈给QTP程序。0067例如QTP程序通过录制形成的本身认可的执行语句为JAVAWINDOW“支付系统”JAVADIALOG“登录”JAVAEDIT“用户名”SET“999800002”,而由语言框架脚本框架使用描述性语言会通过判断当前界面的面板情况JAVAWINDOW和JAVADIALOG的情况,当界面存在多余的面板时和对话框,程序会提示关闭多余面板,再继续执行,以及通过读取测试用例获取需要执行的具体控件来组合成控件执行语句,最后通过描述性语言说明书CN102331971ACN102331984A6/7页9构造的结果为JAV。

31、AWINDOW“TO_CLASSJAVAWINDOW”JAVADIALOG“TO_CALSSJAVADIALOG”JAVAEDIT“ATTACHEDTEXT用户名”SET“999888002”这样即可形成QTP可识别执行语句。0068步骤S14读取并保存QTP程序的测试结果。0069在步骤S13中QTP程序执行完毕后,流程控制模块12读取QTP程序的执行结果,并将读取的执行结果与预期结果比对,将比对后的测试结果回写到测试用例文件。其中,测试结果包括OK测试用例条目的执行结果正常和NG表示测试用例条目的执行结果异常两种。0070当测试结果为OK且输入内容为随机内容时,流程控制模块12会记录随机产。

32、生的内容。随机产生的内容可记录在测试用例文件的备注列中,保存在“备注”的内容可以作为下一步测试的输入数据;例如在图4中,序列号为8输入数据位RANDOM的测试条目,其测试过程中随机产生的内容,即“备注”项中的数据可以作为下一次测试的输入数据。0071当测试结果为NG时,流程控制模块12会记录相应的测试用例条目执行结果异常的原因,并对该测试用例条目进行截图。截图的命名规则为“错误_用例名称_序列X号用例截图JPG”;其中,X为测试用例文件中测试用例条目所在序列中的序列号。0072此外,在测试用例文件的相关参数中还包括“参数数据”,在“参数数据”中设有两个预制结果参数“NG”和“PIC”,预制结果。

33、参数NG表示当测试用例文件本身的测试结果为NG时,流程控制模块会将测试用例条目的测试结果自动修改为OK;PIC表示无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。在QTP程序执行完毕得到测试用例条目的测试结果后,若测试用例条目的“参数数据”中存在预制结果参数,会将测试结果与该测试用例条目的“参数数据”列中的预制结果参数进行比对,并将对比修改后的测试结果保存;若测试用例条目的“参数数据”中不存在预制结果参数则直接保存测试结果。将测试结果与预制结果参数对比的方法为0073若测试结果为NG且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为OK。

34、;例如,在需要测试某一数据是否删除成功时,会通过程序查找该数据是否存在,若删除成功了,该数据的查找失败就会显示测试结果为NG,而删除成功正是所需要的结果,所以通过在预制参数结果中设置NG这一结果,将测试结果自动修改为NG,达到所需要的结果。0074若测试结果为OK且预制结果参数为NG时,流程控制模块会将该测试用例条目的测试结果自动修改为NG;0075若预制结果参数为PIC,无论测试用例文件的测试结果是OK还是NG,流程控制模块都会对测试用例条目进行截图。0076当测试用例条目的“参数数据”中不存在预制结果参数,可以通过在测试用例条目中设置标志性的数据来查看测试结果是否正确,例如在查看数据是否录。

35、入成功时,可以使用查看表格中是否存在设置的标志性的数据来验证,如查看数据条数的变化,若发生变化说明数据录入成功。0077在测试用例执行列表中的全部测试用例文件执行完毕后,保存并关闭文件EXCEL,以保存测试结果,如图4中所示,对于序号1中操作类型为单击ACTIVE,操作控件类型为菜单JAVAMENU,输入数据为系统功能的指定文本的EXCEL文件的测试用例条目,其说明书CN102331971ACN102331984A7/7页10测试结果为OK,表示单击的动作确实发生了;对于序号6中操作类型为验证JVERIFY的测试用例条目,该测试用例条目的条目中设置了输入数据“请选择您要修改的数据”在进行该条目。

36、的测试时,就会在面板上应该出现“请选择您要修改的数据”的提示,在得到该测试条目的实际反馈结果后会将该实际的测试结果与测试用例中的输入数据进行比对,差一个字或者一个空格,测试结果都会显示为NG,并同时反馈给测试用例条目进行结果记录,可以通过该方法来验证文字类测试结果是否正确。0078本发明是为解决繁重的脚本维护和QTP软件学习成本而产生的,但是本发明也需要了解具体的测试用例编写规范,对于公司目前而言看,可以解决部分产品回归、流程测试的问题,该方法目前仅限在JAVASWING开发的程序上使用。0079显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。说明书CN102331971ACN102331984A1/2页11图1图2说明书附图CN102331971ACN102331984A2/2页12图3图4说明书附图CN102331971A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1