美文网首页软件测试自动化测试
Powergague功能自动化测试框架

Powergague功能自动化测试框架

作者: gaby666 | 来源:发表于2019-08-08 09:03 被阅读0次

    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框架是实现了功能测试中的冒烟测试自动化,测试用例自动化,减少了很多人工手动测试流程和时间,提高工作效率,为降低企业成本创造了条件.

    相关文章

      网友评论

        本文标题:Powergague功能自动化测试框架

        本文链接:https://www.haomeiwen.com/subject/czzzdctx.html