QTP编码小知识-参数【自动化测试】
更新时间:2022-05-24 09:12:30 作者:多测师 浏览:231
相信很多人刚接手的新项目,理解自动化脚本中参数的传递是一个很耗费时间的过程,我们需要时间去吸收和理解它。这也不禁让人觉得,自动化项目的中,参数形式的拟定尤为重要,它也是在框架搭建时候的必备工作之一。无疑一个好的参数形式的拟定工作也是决定项目后期维护成本的重要因素。
一、参数存储形式
QTP的参数可以说是五花八门,各有各的特点,其中主要有下面8种:以下满★为5颗,非科学统计,只为个人参考,不为其它依据。
1)QTP内置DataTable
方便性 :★★★★★
灵活性 :★★★
可维护性:★★★
数据大小:★★
调用性能:★★★★
2)环境变量
方便性 :★★★★
灵活性 :★★
可维护性:★★
数据大小:★
调用性能:★★★
3)Action 的Parameter
方便性 :★★★
灵活性 :★★★★
可维护性:★★
数据大小:★
调用性能:★★★
4)Excel
方便性 :★★★
灵活性 :★★
可维护性:★★★★
数据大小:★★★
调用性能:★
5)Xml
方便性 :★★
灵活性 :★★★★★
可维护性:★★★
数据大小:★★★
调用性能:★★★
6)脚本中常量定义
方便性 :★★★★
灵活性 :★★★
可维护性:★
数据大小:★
调用性能:★★★★★
7)Text或者其他文件存储
方便性 :★★
灵活性 :★★★
可维护性:★★
数据大小:★★★
调用性能:★
8)数据库
方便性 :★★★
灵活性 :★★★
可维护性:★★
数据大小:★★★★★
调用性能:★★★★
二、可选参数
灵活的通用脚本能让它在维护时候,尽可能的减少对其它脚本带来影响,哪么这个就离不开可选参数的添加与配置。比较通俗的可以理解为:有一个会左勾拳拳手(通用方法),每次对若干个木头都只是打在左边(若干个方法调用这个通用方法)。而后来这个左勾拳的拳手学会了右勾拳(通用方法中,内置方法流程有所修改),在这个时候拳手就开始对这些木头左右勾拳的打,只有当教练突然喊“1”的时候,拳手就不能对当前木头右勾拳(当可选参数不是默认参数时候运行某个方法)。所以无论拳手学会了多少种拳法,只要教练不喊口令,哪么木头就要接受所有的拳法。这也就体现了可选参数的重要性与实用性。
三、可选参数的实现
这里分为2种方法:
第一种:单一数据存储的可选模式。这种模式的维护简单,脚本实现难度比较小。
如同Datatable,环境变量,Action 的Parameter等等,都只是简单的判断是否为默认值的状态,无优先级别可言。
第二种:双层或多层数据存储的可选模式。这种模式的脚本比较灵活,但脚本实现难度比第一种复杂。
双层模式: 如Datatable与Aciton的Parameter结合,以Datatable为默认参数,Parameter为特定参数,Parameter的优先级别最高。
多层模式:如Datatable,Aciton Parameter,Excel,Xml结合。最底层:Datatable担当默认参数角色;中间层:Excel配置通用方法环境(适用于2层以上通用方法互相调用情况);中间层(并列)XML配置逻辑顺序,如果美国地区操作步骤为123,中国为213;最上层Aciton Parameter,主要是特定参数。
四、模式的选择
项目比较小巧与单一,适合使用单层或者双层的模式;而当项目比较大,脚本用例多达几百个以上的,建议使用多层,但多层的隐患在于如何维护好其中的逻辑关系与脚本的运行速度。
建议:项目偏大,尽可能使用Action方式而不使用Function形式存储用例,其中一个原因是Action的可选模式更加丰富与可塑性更强,并且代码可调试性更高。
以上内容为大家介绍了自动化测试中的QTP编码小知识-参数,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/