使用Flask框架mock server实战(三)

这篇具有很好参考价值的文章主要介绍了使用Flask框架mock server实战(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、demo1:登录接口

1.1 Flask代码

from flask import request, Flask, jsonify

# 创建1个实例
app = Flask(__name__)

# 解决接收中文报文乱码问题
app.config['JSON_AS_ASCII'] = False


# 登录接口
# 指定路由和请求方法。strict_slashes=False 对URL最后的/符合是否严格要求。False时,路径带不带/都可以。如果是True, 不能加/
@app.route('/api/login', methods=['POST'], strict_slashes=False)
def login():
    # debug信息,打印请求方法
    print(request.method)
    # 获取请求数据,将数据变成字典
    data = request.get_json()
    # 打印请求的数据
    print(data)
    print(type(data))

    # 定义用户名和密码变量,从data中取值
    username = data['username']
    pwd = data['password']

    """
        测试场景(可以根据实际测试情况进行补充):
        1、参数为空
        2、用户名密码正确
        3、用户密码错误
    """

    if username == "" or pwd == "":
        """
            Flask框架里,可以用jsonify返回json数据
            使用jsonify时,返回的http response的Content-Type是application/json
            这样做是符合HTTP协议规定的,这就是使用jsonify的原因之一
        """
        return jsonify({
            "code": "001",
            "msg": "username or password can not be null"
        })
    elif username == "zz" and pwd == "123456":
        return jsonify({
            "address": {
                "city": "beijing"
            },
            "httpstatus": 200,
            "info": {
                "age": 18,
                "name": "zz"
            },
            "msg": "success",
            "token": "2334nkdnknkadfnkndafkanfdkasnk"
        })
    else:
        return jsonify({
            "code": "001",
            "msg": "username or password is not correct"
        })


if __name__ == '__main__':
    # debug=True 开启调试模式
    # 非debug模式,如果运行的时候代码报错了,网页不会提示详细错误,只会报服务器内部错误
    app.run(debug=True)

1.2 客户端请求

test_case.py

import requests
import pytest

# 账号和密码正确
def test_01():
    data = {
        "username": "cc",
        "password": "123456"
    }

    url = "http://127.0.0.1:5000/api/login"
    resp = requests.post(url=url, json=data)
    print(resp)
    print(resp.text)

# 账号密码都为空
def test_02():
    data = {
        "username": "",
        "password": ""
    }

    url = "http://127.0.0.1:5000/api/login"
    resp = requests.post(url=url, json=data)
    print(resp)
    print(resp.text)

# 账号或密码不正确
def test_03():
    data = {
        "username": "c",
        "password": "123456"
    }

    url = "http://127.0.0.1:5000/api/login"
    resp = requests.post(url=url, json=data)
    print(resp)
    print(resp.text)
    
if __name__ == '__main__':
    pytest.main(['-s', 'test_case.py'])

1.3 执行效果

使用Flask框架mock server实战(三),接口测试,flask,python,后端使用Flask框架mock server实战(三),接口测试,flask,python,后端

2、demo2:查询用户信息

2.1 Flask代码

# 查询个人用户信息接口
@app.route('/api/getuserinfo', methods=['GET'], strict_slashes=False)
def api_getUserInfo():
    # 服务端希望token在headers中传过来,不是url
    token = request.headers.get('token')
    if token == "2334nkdnknkadfnkndafkanfdkasnk":
        return jsonify({
            'code': 200,
            'data': [
                {
                    "userid": 122222,
                    "username": "cc",
                    "nickname": "橙子",
                    "openid": "UWENSNNIFIIF3i43344",
                    "userbalance": 5678.02,
                    "userpoints": 43221
                }
            ]
        })
    else:
        return jsonify({
            "code": 1000,
            "msg": "user info is incorrect"
        })

2.2 客户端请求

修改test_01如下

def test_01():
    data = {
        "username": "cc",
        "password": "123456"
    }

    url = "http://127.0.0.1:5000/api/login"
    resp = requests.post(url=url, json=data)
    print(resp)
    print(resp.text)
    token = resp.json()['token']
    # 基于获取的token来实现个人信息的查找
    url = "http://127.0.0.1:5000/api/getuserinfo"
    headers = {
        "token": token
    }
    resp = requests.get(url=url, headers=headers)
    print(resp)
    print(resp.text)

2.3 执行效果

使用Flask框架mock server实战(三),接口测试,flask,python,后端使用Flask框架mock server实战(三),接口测试,flask,python,后端文章来源地址https://www.toymoban.com/news/detail-638021.html

到了这里,关于使用Flask框架mock server实战(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Postman接口测试高阶——精通Mock Server模拟服务器的创建及使用等

    对于通过HTTP或HTTPS集成的任何系统,MockServer可用作: 1.模拟的配置为返回不同请求的特定响应 2.代理人记录并可选地修改请求和响应 3.都是代理人对于一些请求和一个模拟的对于同时的其他请求 当Mock Servers接收到一个请求时,它会将该请求与active进行匹配预期已经配置好的

    2024年02月19日
    浏览(44)
  • 创建一个简单的区块链,并使用 Flask 框架提供一个简单的 Web 接口来与区块链交互。

    目录 前言 一、代码展示 二、代码注释 1.简单的区块链模拟实现,这段代码定义了一个简单的区块链类,可以创建一个新的区块链,并能够添加新的区块到链上,同时获取最新的区块信息。这个模拟的区块链可以用于教学或演示区块链的基本概念。 2.这段代码是一个简单的工

    2024年04月14日
    浏览(51)
  • 接口测试 react+unittest+flask 接口自动化测试平台

    目录 1 前言 2 框架 2-1 框架简介 2-2 框架介绍 2-3 框架结构 3 平台 3-1 平台组件图

    2024年02月16日
    浏览(48)
  • 接口自动化测试:mock server之Moco工具

    什么是mock server mock:英文可以翻译为模仿的,mock server是我们用来解除依赖(耦合),假装实现的技术,比如说,前端需要使用某些api进行调试,但是服务端并没有开发完成这些api,那么前端的工作就被服务端阻塞了,那么就可以使用mock server假装实现这些api,能够返回特定

    2024年02月11日
    浏览(43)
  • Python web实战 | 用 Flask 框架快速构建 Web 应用【实战】

    Python web 开发已经有了相当长的历史,从最早的 CGI 脚本到现在的全栈 Web 框架,现在已经成为了一种非常流行的方式。 Python 最早被用于 Web 开发是在 1995 年(90年代早期),当时使用 CGI 脚本编写动态 Web 页面。2004 年 Django 框架发布,它是一个高度模块化的框架,提供了许多

    2024年02月07日
    浏览(52)
  • react+unittest+flask 接口自动化测试平台

    目录 1 前言 2 框架 2-1 框架简介 2-2 框架介绍 2-3 框架结构 3 平台 3-1 平台组件图 1 新建用例 2 生成测试任务 3 执行并查看测试报告

    2024年02月17日
    浏览(46)
  • python基于flask实现swagger在线文档以及接口测试

    阅读对象:知道什么是restful,有了解swagger或者openAPI更佳。 Representional State Transfer(REST):表征状态转移。是一种一种基于HTTP协议的架构。采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源。 如果REST满足一定条件(C/S、无状态、分层系统、

    2024年02月12日
    浏览(40)
  • Flask框架-配置日志(1):flask使用日志

    study_flask         --| apps/                 --| __init__.py         --| base/                 --| logger.py                 --| __init__.py         --| app.py 1、base/logger.py 2、apps/__init__.py 1、在视图中使用 2、在视图中抛出一个异常 基于文件大小分割的日志文件

    2024年02月12日
    浏览(51)
  • Flask框架-流量控制:flask-limiter的使用

    flask1.x.x版本,使用flask-limiter=1.4.0版本的。 ext/__init__.py apps/__init__.py 频率限制语法: 1、\\\'100 per day\\\'、\\\'20 per hour\\\'、\\\'5 per minute\\\'、\\\'1 per second\\\' 2、\\\'100/day\\\'、\\\'20/hour\\\'、\\\'5/minute\\\'、\\\'1/second\\\'    #推荐这个,看起来简单 FBV使用 CBV使用 在很多时候,我们不仅仅需要对IP进行流量控制,可能需

    2024年02月14日
    浏览(31)
  • 视觉学习(七)---Flask 框架下接口调用及python requests 实现json字符串传输

    在项目实施过程中需要与其他系统进行接口联调,将图像检测的结果传递给其他系统接口,进行逻辑调用。这中间的过程可以通过requests库进行实现。 1.安装requests库 2.postman 接口测试 我们先通过postman 了解下接口调用,通过postman新增一个接口: 新增Collection -- 选中Collection,右

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包