用Python实现类似Jmeter的自动化测试框架
2021/12/11 17:47:33
本文主要是介绍用Python实现类似Jmeter的自动化测试框架,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
新冠疫情刚爆发的时候,居家隔离很无聊,于是想用Python写个自动化测试框架。参考Jmeter的方式,Jmeter测试脚本是XML格式的文件,这个框架的脚本用YAML格式。
源码地址:https://github.com/momo3507/HttpCase.git
简介
使用YAML定义自动化测试用例,完了。
使用说明
from httpcase.project import Project testcase = "httpcase.yml" project = Project(testcase) project.run()
脚本模板及说明
# This is HttpCase code mode project: 我的HttpCase项目 #项目名称 variables: # 定义的全局变量 username: wangwei password: 1111 HttpRequestDefaults: # http请求默认值 protocol: http ip: 127.0.0.1 port: 5000 HttpHeaderDefaults: # 请求头默认值 Content-Type: application/json token: 1ytd234567qwert testsuites: # 测试套件列表(测试模块列表) - name: 用户登录模块 # 套件(模块)名称 variables: {} # 套件(模块)变量 testcases: # 用例列表(一个套件中多条用例) - name: 登录后进行查询 # 测试用例名称 description: 测试xx情况下,功能是否正常 # 测试用例描述 variables: {} # 用例变量 httpsteps: # http请求列表(操作步骤,一条用例含一个或多个http请求) - name: 登录平台 # 测试步骤名称 protocol: # 协议,为空时使用全局参数 ip: # ip或servername port: # 端口 method: POST # 请求方法 path: /login # uri params: # 请求参数 ,exp:/query?name=wangwei t: ${__timeStamp()} body: # 请求体,json或其他格式 username: ${username} # 按照 “用例变量->套件变量->全局变量”的顺序查找变量定义 password: ${password} extract: # 提取器,从响应中提取数据给指定变量 ret: $.ret # 变量存储在用例变量中 token: $.token assertion: # 断言,步骤执行成功或失败的判断条件 - eq: - status_code - 200 - eq: - ${ret} - 0 - name: 查询用户 protocol: ip: port: method: GET path: /query params: t: ${__timeStamp()} token: ${token} body: extract: ret: $.ret assertion: - eq: - status_code - 200 - eq: - ${ret} - 0
这篇关于用Python实现类似Jmeter的自动化测试框架的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享