IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 用Python实现类似Jmeter的自动化测试框架 -> 正文阅读

[开发测试]用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
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:09:53  更:2021-12-13 13:10:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 6:24:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码