自动化测试学习daytwo(接口自动化概论)

一、@pytest.mark.parametrize() 的基本用法

@pytest.mark.parametrize(args_name,args_value)

name:参数名
value:参数值(列表,元组,字典列表,字典元组)有多少个值用例就会执行多少次

   # 有多少个值用例就会执行多少次
    @pytest.mark.parametrize('name1',[['百里','10'],['小樱','90'] ,'鲁班'])
    def test_03(self,name1):
        print(name1)
    # 解包
    @pytest.mark.parametrize('name2,age', [['百里', '10'], ['小樱', '90']])
    def test_04(self, name2,age):
        print(name2,age)

二、接口自动化测试行情
目前市面上主流的接口自动化测试工具(中小型公司项目)
Postman + Newman +Git +Jenkins
目前主流的接口自动化测试框架:(大小型公司项目)
python + requests + pytest +allure + jenkins

三、requests库简介

requests是用来发送http请求以及接受http响应的第三方库,主要用于接口自动化测试
安装方法:pip install requests
常见的使用方法:

requests.get(url, params=None, **kwargs)
#url是接口地址,data用于传参,json也用于传参,data和json的区别:通过请求头conten-Type来区分,请求内容分为:请求方式,请求路径,请求头,请求正文
#content-Type:服务器要求传入的
#Postman四种传参方式
resueqts.post(url, data=None, json=None, **kwargs)

data和json传参以及content-Type的关系如下:
1、data传参:报文是dic类型,那么默认content-Type application/x -www-from -urlencoded
data传参:报文是str类型,那么默认content-type text/plain
2、json传参:报文可以是字典,也可以是str,那么默认:content-type:application.json

data:可以传纯键值对的字典或字符串
json:可以传任何形式的字典,包括嵌套的字典

requests.get()
requests.post()
requests.put()
requests.delete()

3、get请求和post请求的区别
3.1 get方法是在URL后面,用“?"连接传参,参数之间用&分隔开,会暴漏参数信息;产生一次TCP数据包,将http的hearder和data一起发送出去,服务器响应200;请求后退页面时,不产生影响;可以存入缓存;
3.2 post方法将参数放在body中;进行两次TCP连接,产生两个TCP数据包,发送header时产生一个TCP连接,响应100 continue,再发送data,相应200 OK;请求后退数据时,会重新提交请求;不可以存入缓存

4、json
json.loads() 把json字符串转化为字典格式
json.dumps()把字典格式转化为json字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值