python——自动化测试——API接口测试

1.Requests的安装:
首先需要安装Requests插件,有两种安装方法:
(1)直接在运行结果框中输入pip install requests
(2)pycharm---->file---->setting---->点击‘+’---->搜索requests---->点击下载

2.Requests的导入:
安装好插件之后,每次使用时需要在脚本开始处输入

import requests

3.API接口测试:

  • API接口即:应用程序编程接口,程序间的接口
  • (1)准备阶段:
    1.1找到对应的接口信息–(如登录的接口:login),步骤如下:
    1.1.1进入网站
    1.1.2按F12
    1.1.3完成登录操作(以登录为例)
    1.1.4在控制台菜单栏找到网络
    1.1.5在列表中点击选中文件名为|【接口】login的文件,即可查看登录业务接口信息
    1.2构造请求headers,请求url, 请求正文【数据】+请求方法【post或get】
def test_login_t(self):
    request_url = ‘http://xxxxxxx’           # 请求URL
    request_method = 'POST'                  #请求方法
    request_body = {'username': 'admin', 'password': '123'} # 请求正文
  • (2)与服务器的交互阶段:
    向服务器端发送请求request
    获取服务器端的响应response
response = requests.post(request_url, data=request_body,timeout=3)
  • (3)验证阶段
    构建一个断言,判断(期望结果与实际结果示是否一致),并设置错误原因),如判断期望结果等于实际结果是否为真,如果为假,则输出错误信息
# 断言期望结果与实际结果的真假,以及结果如果为假,输出错误原因
        self.assertTrue(response.status_code==200,msg=f'错误原因:期望结果是200,但实际结果是{response.status_code}')

4.Response JSON数据处理:
3–(2)中得到的响应response是json数据,即字符串类型。
为了便于后续数据处理,我们可以将它转化为字典格式。
转化方法:response.json()

#定义一个变量sDict,它的内容是把响应response从json格式转换格式为字典格式
        sDict = response.json()     
        Cookie = sDict.get('Admin-Token', None)
        global  cookies_dict
        cookies_dict = { 'Admin-Token' : Cookie}

#这一步就是定义一个变量Cookie并将它全局化。
变量Cookie提取了转化成字典格式的【响应response】中的一个键值对:
{ ‘Admin-Token’ : Cookie}。
提取这个键值对的目的是为了保持登录状态:

(1) 当用户登录成功以后,服务器会给浏览器返回一个cookies(响应头headers或响应正文body),通过获取cookies,并保存起来(自动化接口测试-保存到内存|浏览器-保存本地硬盘)
(2) 在登录以后的所有请求操作,都要加上cookies,在自动化接口测试,requests框架里面,表现为 cookies[形参的变量名称] = cookies【实参的具体值】
(3) 了解【Cookies是有过期时间的。每次登录-cookies值不一样。】