前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >py-ops面向编程的关键字测试框架

py-ops面向编程的关键字测试框架

作者头像
上帝De助手
发布2019-12-30 09:56:01
4120
发布2019-12-30 09:56:01
举报
文章被收录于专栏:TestQATestQA
说明

这是一款基于pytest封装,同时支持关键字BDD,测试数据分离,面向编程,轻量级的,对上层自动化应用友好的基础测试框架。

其主要核心功能:

1.支持关键字定义2.支持关键字组装3.测试数据透传

该框架的主要特点:

1.基于pytest框架开发,支持原生插件2.同时具备关键字BDD框架的特点3.无二次学习成本(Python|json)4.天然支持测试数据分离与传递5.对上层应用提供友好的封装接口6.支持脚本Debug调试7.代码量少(7个文件500行代码)

环境安装

代码语言:javascript
复制
pip install py-ops

或者使用下面命令安装最细版:

代码语言:javascript
复制
pip install git+https://github.com/five3/pyops.git

快速开始

使用该框架非常的方便,基本没有学习成本。首先新建一个目录作为自动化项目的根目录,然后再新建一个名为ah_ext的python包目录,并在__init__.py文件中编写如下内容。

代码语言:javascript
复制
import logging
from pyops.decorator import (make_check, make_flow, alias)

logger = logging.getLogger()

def add(x, y):
    print('add')
    return x + y

@alias('调用add')
@make_flow
def call_add(data):
    """
        data: 即json配置文件中的case节点下对应data字典对象
    """
    data['actual'] = add(data['x'], data['y'])

@alias('检查add')
@make_check
def check_add(data):
    """
        data: 即json配置文件中的case节点下对应data字典对象
    """
    return data['actual'] == data['expect']

在该目录下新建一个demo.json文件,内容如下:

代码语言:javascript
复制
{
    "name": "TestDemo",
    "desc": ".....background......",
    "tag": "smoking_test",
    "setup_class": [],
    "teardown_class": [],
    "cases": {
        "test_add": {
            "desc": "",
            "tags": [],
            "setup": [],
            "teardown": [],
            "data": {
                "x": 2,
                "y": 3,
                "expect": 5
            },
            "flow": ["调用add"],
            "check": ["检查add"]
        }
    }
}

在项目根目录执行如下命令运行测试:

代码语言:javascript
复制
pyops run

该命令默认会执行当前目录先全部的json用例文件,如果你希望只执行部分的json用例,则可以指定特定的文件名:

代码语言:javascript
复制
pyops run demo.jsom demo2.json

另外,在执行完该命令后会在当前目录生成一个对应名称的py文件,如:demo.py。这个执行测试流程中的产物,也是执行测试的真正入口点。如果你希望单独生成一个py用例文件,可以使用下面的命令:

代码语言:javascript
复制
pyops make demo.json

框架设计结构

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TestQA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境安装
  • 快速开始
  • 框架设计结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档