接口自动化(Day1)

一、商品的新增

1.导入的库

(1)requests:用于发送http请求,模拟客户端向服务器发送请求。

对于商品的新增,我们需要用的是post请求。

请求头包含“contente-type”,它的作用是告诉服务器我发送的请求体是用什么格式写的;“authorization”,它的作用是向服务器表明客户端的身份,以有权限访问服务器中的资源(tips:每个接口在一定时间内的authorization是相同的)。

对于载荷(我喜欢叫它请求体)所需要的参数,这是根据每个接口的具体要求而定的,可以用浏览器的F12进行抓包,看Network中的Payload,仿照着写就行了;

(2)json

因为requests需要传入的参数是json格式,而我们在python语言定义的对象是字典格式的,所以需要用到json包中的dumps方法,将python对象(字典)转化为json格式

因为requests返回的是python对象Respone(类型),我们需要将其中的text属性(是json格式)转化为字典格式(这样我们可以采用键值对的形式,将其中的值提取出来),所以我们需要导入json包,利用其中的loads方法,将其序列化(不太理解,先将其理解为可以用字典的形式提取相应的值就行),后面可以用来提取状态码呀、msg之类的信息。

(3)time

因为要创建多个商品,中间要暂停一会,让数据库缓缓,所以要用到time包中的sleep方法。

(4)random

用于随机从字符里面挑出几个来形成随机的商品名字。

2.开始写代码

(1)创建指定长度的随机商品名称

def generate_random_str(randomlength=16):
    """
    生成一个指定长度的随机字符串
    """
    random_str = ''
    base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
    length = len(base_str) - 1
    for i in range(randomlength):
        random_str += base_str[random.randint(0, length)]
    return random_str

(2)authorization、url、content-type的初始化

(3)请求头headers的设置

(4)创建空字典,用于存放随机的商品名称,其中长度可指定

(5)创建for循环,指定商品名称长度

(5.1)从(1)中创建的方法中接受指定长度的商品名称,specified_length_str

(5.2)将其赋值给(4)中创建的空字典,其中键名为“name”

(5.3)设置请求体,用字典格式,名为payload,其中的商品名就用specified_length_str。这里要注意,字典格式的值要置为空,需要设置为None,而null是不可行的;Flase首字符也要大写。

(6)使用requests方法,发送post请求,这里注意,传入的参数payload需要转化json格式,使用的方法是json.dumps

3.完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值