12.30 py-ops面向編程的關鍵字測試框架

說明

這是一款基於pytest封裝,同時支持關鍵字和BDD,測試數據分離,面向編程,輕量級的,對上層自動化應用友好的基礎測試框架。

其主要核心功能:

1.支持關鍵字定義2.支持關鍵字組裝3.測試數據透傳

該框架的主要特點:

1.基於pytest框架開發,支持原生插件2.同時具備關鍵字和BDD框架的特點3.無二次學習成本(Python|json)4.天然支持測試數據分離與傳遞5.對上層應用提供友好的封裝接口6.支持腳本Debug調試7.代碼量少(7個文件500行代碼)

環境安裝

<code>pip install py-ops/<code>

或者使用下面命令安裝最細版:

<code>pip install git+https://github.com/five3/pyops.git/<code>

快速開始

使用該框架非常的方便,基本沒有學習成本。首先新建一個目錄作為自動化項目的根目錄,然後再新建一個名為ah_ext的python包目錄,並在__init__.py文件中編寫如下內容。

<code>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']/<code>

在該目錄下新建一個demo.json文件,內容如下:

<code>{
"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"]
}
}
}/<code>

在項目根目錄執行如下命令運行測試:

<code>pyops run/<code>

該命令默認會執行當前目錄先全部的json用例文件,如果你希望只執行部分的json用例,則可以指定特定的文件名:

<code>pyops run demo.jsom demo2.json/<code>

另外,在執行完該命令後會在當前目錄生成一個對應名稱的py文件,如:demo.py。這個執行測試流程中的產物,也是執行測試的真正入口點。如果你希望單獨生成一個py用例文件,可以使用下面的命令:

<code>pyops make demo.json/<code>

框架設計結構

py-ops面向編程的關鍵字測試框架

本文分享自微信公眾號 - TestQA(testqna)


分享到:


相關文章: