zoukankan      html  css  js  c++  java
  • QTP连载三:几种参数化的简单比较

      本次主要介绍下qtp的各种参数化方法和很多人在参数化时候容易犯的几个错误。

      很多人最初接触参数化的时候都是从利用datatable的Global表参数化开始的。因为那是操作实现起来最简单的参数化,但同时也是误导和制约大部分新手的一个枷锁。

      qtp利用global表参数化的操作在此就省略了,网上随便搜都能找一大堆,就在此提供一个百度的链接吧:http://hi.baidu.com/ruanjianceshi/item/f6283dc3361a912c47d5c031

      顺带说一个很多新手因为这个参数化产生的问题吧:

      参数化之后,重新录制一个Test,回放时候会运行多次(上次参数化的次数)。

        原因:参数化之后datatable的global表中的数据行没有删除干净,表现为Global表中某行的下边框为黑色线条。

        解决:选中Global表中的行,右键选择Edit—Delete,删除改行即可。

        扩展:Global表中第一行的黑线是无法通过delete删除掉的,因为qtp脚本的迭代次数首先是根据global表和Local表来控制的,并且因为脚本至少迭代一次,所以global表中至少要有一行数据(global表中无数据的时候,是默认有一行为空的数据的);至于Global表和Local表的作用和优劣会在后面测试参数规划部分介绍的。

      参数化是自动化测试中的一个非常重要的部分,也是学好自动化测试一个重中之重。下面来简单介绍几种qtp常用的参数化方法,并简略对比分析他们的优劣性,至于具体使用下一篇会详细介绍:

      1. datatable参数化:datatable是qtp封装的一个小型数据表,对于它的介绍可以参看qtp帮助文档的介绍。

        优点:访问速度快,操作简单且快速上手。

        缺点:需要在录制或编写测试脚本的时候把数据一起填充进去;即使有qtp脚本中有单独的parameter.mtr文件可以单独编辑处理测试数据,但毕竟这种类型的文件是qtp专有的数据文件,从维护角度上来说总是很费事。

        适用情况:参数为固定参数时使用

      2. 外部数据文件excel、database+datatable参数化:使用外部文件导入数据以弥补parameter.mtr文件不利用编辑维护的缺陷。

        优点:datatable文件访问速度快,操作简单。外部excel、database文件编辑方便,并且与脚本分离,易于扩展。

        缺点:因为需要在测试执行初期或开始调用测试数据前导入测试数据,在执行结束后将测试数据导出并销毁datatable的使用痕迹,所以初始化Test和执行Test时比较浪费时间,并且对资源的占用也较大(需要两次大数据量转储)。

        适用情况:参数较多却需要频繁读取的情况下

      3. 外部文件excel、database参数化:直接使用外部文件作为数据源进行参数化。

        优点:数据易于组织管理,不需要中转备份。

        缺点:访问速度比较慢,如果参数需要频繁读取的时候,响应速度和资源占用情况都不乐观

        适用情况:参数较多不需要频繁读取

      4. txt、xml文件参数化:文本文件读取资源占用小,访问快,且易于编辑修改

        优点:访问速度较excel、db文件快

        缺点:不易于组织管理。

        适用情况:参数较少的情况下

      5. xml、txt、ini + qtp环境变量:利用环境变量,加强文本参数文件的组织结果

        优点:访问速度快速,只需要管理txt文件的目录结构即可实现参数的组织管理

        缺点:不能很好的响应参数值动态变化

        适用情况:参数分类较细,且每个参数文件中的参数条目较少

      以上是对我目前接触到的参数化文件类型和使用过程中的对比,数据量比较大的时候建议用excel或db来组织;数据量较小的时候txt组织会更快速有效一点。当然,在实际项目中决定参数化的方式并不能只靠这些来决定,还需要根据很多因素,如:个人能力、使用习惯、公司期望等。这些仅为个人观点,如果谁有不同观点,欢迎一起讨论。

  • 相关阅读:
    UNP学习第八章udp
    UNP学习第七章
    linux IPC 消息队列(二)
    epoll学习(二)
    epoll学习
    UNP学习第六章(二)
    UNP学习第六章select
    UNP学习第五章(二)
    UNP学习第五章
    UNP学习第四章tcp
  • 原文地址:https://www.cnblogs.com/SilenceCity/p/2757913.html
Copyright © 2011-2022 走看看