Pytest案例之请求数据类型为form-data

案例说明:实现平台端远程向设备端发送采集指令,设备端进行生物特征采集的功能

思路:
(1)首先登陆平台端,获取平台端的token
(2)使用步骤(1)获取的token,请求调用远程采集的接口

实现:

#使用pytest获取登陆token,文件位于项目根目录下名称为conftest.py,该项目下所有文件内均可以使用
@pytest.fixture(scope='session')
def test_api_login():
    r = requests.post(url='http://127.0.0.1:8989/login', data={'username': 'root', 'password': 'admin'})
    print(r.json())
    print(r.json()['token'])
    return r.json()['token']
# !/usr/bin/python
# -*- coding: UTF-8 -*-
from requests_toolbelt.multipart.encoder import MultipartEncoder
import requests,time


def test_regist(test_api_login):
    url = 'http://127.0.0.1:8989/deviceTasks/save'
    request_body = MultipartEncoder(
        {'cmd': '32', 'workerIdStr': '2388', 'deviceId': '9', 'registerType': 'iris'}
    )
    headers={'token': '{0}'.format(test_api_login),
                              "Content-Type": request_body.content_type,
                              'X-Requested-With': 'XMLHttpRequest',
             'Referer':'http://127.0.0.1:8989/pages/base/workerInfo/eye.html?id=2388'}
    r = requests.post(url=url,data=request_body,headers=headers)
    assert r.status_code == 200
    print(time.strftime('%Y-%M-%D %H:%M:%S',time.localtime()),'调用采集的返回值',r.json)

使用命令行执行:切换至文件所在路径下,pytest --count 10 test_acquisition.py
说明: --count 指定要运行测试用例和测试次数. 使用前安装pip install pytest-repeat

你可能感兴趣的:(Pytest案例之请求数据类型为form-data)