美文网首页
python学习之路_接口参数化1

python学习之路_接口参数化1

作者: 风雪_夜归人 | 来源:发表于2019-03-18 23:08 被阅读0次

python接口参数化1

  1. 安装pytest框架
  2. 熟悉HTTP协议

思路与知识点

  • 首先确保自己需要测试的接口能调通
  • 确定自己所需要参数化的字段
  • 使用pytest框架的装饰器标记数据@pytest.fixture
  • 参数化数据必须为列表

直接上手撸代码

# 导包
import requests
import pytest
#定义一个参数化需要的数据,必须是列表!
#undata1 = [['张飞9','111111'],['张飞10','222222'],['张飞11','333333'],['张飞12','444444']]
undata1 = [{'username':'嘘嘘01','password':'111111'},{'username':'嘘嘘02','password':'111111'},{'username':'嘘嘘03','password':'111111'}]

#类似于java上的注解,标记数据源,将数据源给username
@pytest.fixture(params=undata1)
def username(request):
    return request.param

#类名
class Test_no():
    #方法名,传的参数就是,数据给了装饰器,作为参数给了下面的方法
    def test_learn(self,username):
        url="http://localhost:8080/admin/register"
        body={
  "email": "string",
  "icon": "string",
  "nickName": "string",
  "note": "string",
  "password": "12112",
  "username": "11212"
}
        # 数据源是list,使用下标取值,并赋值给body
        #body["username"] = username[0]
        #body["password"] = username[1]

        ## 数据源是Dictionary,使用key取值,并赋值给body
        body["username"]=username["username"]
        body["password"] = username["password"]
        # 调用post方法,传入url,body两个参数
        r1= requests.post(url=url,json=body)
        # 最后输出响应结果
        print(r1.text)
        # 增加断言
        assert r1.json()["message"] == "操作成功"

响应报文

.{"code":200,"message":"操作成功","data":{"id":17,"username":"嘘嘘01","password":"96e79218965eb72c92a549dd5a330112","icon":"string","email":"string","nickName":"string","note":"string","createTime":1552921608805,"loginTime":null,"status":1}}
.{"code":200,"message":"操作成功","data":{"id":18,"username":"嘘嘘02","password":"96e79218965eb72c92a549dd5a330112","icon":"string","email":"string","nickName":"string","note":"string","createTime":1552921608827,"loginTime":null,"status":1}}
.{"code":200,"message":"操作成功","data":{"id":19,"username":"嘘嘘03","password":"96e79218965eb72c92a549dd5a330112","icon":"string","email":"string","nickName":"string","note":"string","createTime":1552921608840,"loginTime":null,"status":1}}
                                                          [100%]

conftest文件配置

  1. conftest.py配置脚本名称是固定的,不能改名称
  2. conftest.py与运行的用例要在同一个pakage下,并且有init.py文件
  3. 不需要import导入 conftest.py,pytest用例会自动查找

实例

  1. 在包中新建一个conftest文件,将数据源放入该文件中,原来文件中数据源删除.png

相关文章

  • python学习之路_接口参数化1

    python接口参数化1 安装pytest框架 熟悉HTTP协议 思路与知识点 首先确保自己需要测试的接口能调通 ...

  • python学习之路_接口参数化2

    python接口参数化2 使用@pytest.mark.parametrize进行参数化 代码 响应代码

  • python小功能-递归解析Json

    目的:解析Json格式的接口参数用途:用于接口自动化测试,避免手工录入接口参数 1 Json格式的接口参数会有多种...

  • 《老兵爱学习》【专题目录】

    “老兵爱学习”之颠覆你的Python接口自动化测试,约吗? “老兵爱学习”之《颠覆你的Python接口自动化测试》...

  • 接口测试流程-jmeter

    一、接口测试流程 1、参数化: excel文件参数化、数据库参数化、配置文件等 2、预处理请求(前置处理): 对请...

  • Python 连接 MySQL

    安装 python 连接 mysql 工具 python 连接 mysql 参数化, 参数化主要解决的是 sql ...

  • python接口自动化之参数化

    一、登录函数 1.s参数是session的一个实例类,先放这里,方便写后面代码 2.登录函数传三个参数,s是需要调...

  • 学习第二十二天总结

    一、学习内容 1、Python重学了函数和代码复用章节的内容。2、软件测试学习了QTP中Action的参数化。3、...

  • Python学习之路(函数参数)

    函数参数 以及默认参数 定义一个可变参数的函数 一般是list 或者 tuple 函数参数之关键字参数 练习 写一...

  • 软件测试--接口参数

    做接口测试的时候,有些请求参数都是重复的或者是可以随机的,那么就需要我们进行接口参数化。 接口参数化第一步,定位获...

网友评论

      本文标题:python学习之路_接口参数化1

      本文链接:https://www.haomeiwen.com/subject/fvvimqtx.html