Powergague框架是通过命令行执行测试用例,并且它区别于传统的接口自动化测试,它用于测试功能自动化。
比如点击操作超链接进入页面,发起get,post请求等均可通过功能自动化实现.
一.项目结构
.step_impl 测试代码目录,包含commons,conf,XXproj等目录.
.commons 公共方法模块目录
xxproj_requests.py 封装xxprojApi库,根据需要调用的api方法名称,自动import对应的模块类,返回可调用的请求对象.
check.py 利用第三方库requests发送url request,检查response返回码,响应头,响应内容等项目无关的通用方法.
client.py封装的是鉴权,从conf目录中读取配置信息,get_client方法返回client对象,用于向接口发送请求对象.
.conf配置信息目录,config.py 读取配置文件 config.ini 配置文件
.xxproj xxproj测试代码所在的目录,包含xxproj测试specification的steps的实现代码
.logs gauge执行日志文件所在的目录,执行测试时自动生成.
.reports 测试报告目录,测试执行完成后自动生成.
.env环境配置目录,其中 python.properties文件配置了python的执行命令行和代码所在的相对目录
GAUGE_PYTHON_COMMON=python3
Comma_seperated list of dirs. path should be relative to project root.
STEP_IMPL_DIR=step_impl
.specs 测试用例目录.specs目录目前包含xxproj子目录,是ABC项目功能测试spec所在的目录.其中concept子目录封装了可重用的stepse组合,后缀名为.cpt,这些concept header(标题)可被测试spech或其他concept作为step使用.
二.框架使用方法
1.编写测试用例
测试用例.md文件形式存储,使用markdown语法
specification 编写规则:
1.普通step只那个允许英文字母,使用concept封装后的step可以使用中文字母
2.ABC API配置/查询相关的step可调用specs\使用中文或 abc\concept\ABCapi.cpt的concept
3.标签tags可以使中文或英文字母.编写规则:
.要求至少添加测试用例概念优先级(如p0/p1),测试级别(smoke/功能/性能/回归等),功能分类(如级别配置,回源配置,缓存配置,HTTPS配置,访问控制,性能优化等),正方向(正向/反向)
.测试人员可根据需要增加其他标签
标签示例
ABC 性能优化-Brotli压缩
tags:p0,smoke,域名管理,正向
4.spec文件名不能保护、,、等中英文特殊字符,名称应与Aone测试用例保持一致,如用例名称不符合要求,请修改并保持一致
5.注意:gauge必须使用星号加空格标识一个,不可使用+-替代*
中文简要说明参见第三部分【Gauge specificaiton 语法简介】
示例文件example/example.md
hello example
tags:hello_test
this is an example specification
## hello scenario
Tags:
*Say: “hello” to “gauge”
spec 示例文件请参考项目根目录下的emplate.md
2.编写测试用例方法
step_impl/cdn目录下编写测试用例的代码
.ABC测试项目内可重用的公共方法如ABC api请求相关方法,应在ABC\ABC_api.py文件中
.根据测试用例模块如基本配置,回源配置,缓存配置,HTTPS配置,访问控制,性能优化等把测试step的实现分别保存在各个代码文件中.
.注意:与项目无关的公用方法应保存在step_impl/commons下对应的文件中,以便为所有试项目代码提供调用方法
根据gauge env配置的python代码目录,gauge将在step_impl目录下的代码文件(包含字目录)中查找所有待执行的基本step,前面say hello to gaugei step 对应的代码实现示例如下:
(step_impl\example.py)
from getgauge.python import step,Message ,continue_on_failure
@step(“say <greeting> to <product name>”)
def hello_world(greeting,name):
Message. write_message('Print Message {0} to {1}.format(greeting,name))
assert true,"add implementation code"
3.执行测试用例
gague run[targe_folder]-t [tags_name] target_folder:指定的测试用例sepc目录,可以指定执行测试的文件.
tags_name:测试场景(用例)的标签名,用于执行指定的标签的测试用例
gauge run sepcs
gauge run specs/cdn -t smoke
gauge run ‘specs/cdn/缓存配置-HTTP头 新增(有效类).md’
总结.Powergague框架是实现了功能测试中的冒烟测试自动化,测试用例自动化,减少了很多人工手动测试流程和时间,提高工作效率,为降低企业成本创造了条件.
网友评论