天天看点

自动化测试~参数化

介绍

hoenixAutotest中的参数化技术,包括了对元素定位、数据源的参数化。对于元素定位的参数化,有的场景下同一个页面中的同一个元素在不同的流程中定位方法是不一样的。这时候,为了能够尽可能地复用脚本实现动态定位元素,就需要用到元素定位的参数化。

在自动化测试脚本的编写过程中,可能需要用到很多数据,而某些数据可能是动态变化的、有规律的(例如:手机、邮箱、身份证等)、不关心具体内容的。这时候,就需要用到参数化来提高脚本的可复用性。简单来说,就是把脚本中可变的部分写在其他地方,避免了要经常修改脚本的工作。

  • 类型

PhoenixAutotest框架支持很多中类型的参数化,也能满足大多数的情况。但,除此之外用户还可以很方便地进行扩展、自定义;当然自定义部分,您可以看后面的章节。 这里的类型包括:simple、freemarker、properties、page_ref、groovy、javascript、encrypt、callback、sequence等。

  • simple

顾名思义,simple为简单实现的一种参数化。可以使用的变量包括:日期、身份证号码、电子邮件、邮编、随机数字等。

${now}是当前日期的时间戳,为数字形式的日期

${now yyyy}年份字符串,例如:2017

${now MM-dd}年份字符串,例如:3-26

${now yyyy-MM-dd}年份字符串,例如:2017-3-26

${now MM-dd HH:mm}年份字符串,例如:3-26 12:00

${now yyyy-MM-dd HH:mm:ss}年份字符串,例如:2017-3-26 12:00:00

${id_card}身份证号码

${email}电子邮件

${phone}手机号码

${postcode}邮编

${random-60}随机数字,从0-60的随机数字

  • freemarker

使用了该类型后,框架会把数据当作freemarker模板来进行解析。

  • properties

把参数化的具体数据会保存在文件dynamic.data.properties中。

  • page_ref

这种类型,可以让您引用其他Page类中属性的值。

  • groovy

框架会把数据当作groovy脚本来解析。

  • javascript

框架会把数据当作javascript脚本来解析。

  • encrypt

如果您的项目中有比较敏感的数据,可以采用加密的方式。填入的是密文,框架会根据给定的密钥在使用的时候自动解密。采用该类型,需要配置文件encrypt.properties。这里要配置密钥,例如:encrypt.key=123456。

  • callback

该类型的参数化实现本身没有任何作用,但是它可以通过传递参数来使用其他任何一种参数化的实现。

  • sequence
  • 自定义