自动化测试: 用代码点点点 --用代码去执行用例 当前自动化主要分为: 接口自动化 web UI自动化 App自动化 接口自动化测试: 接口测试: jmeter工具发起接口请求测试 post: url 请求头信息 ---包括cookie 请求数据 get: url 或者url+请求头信息 接口的结构: 请求: 请求头: header信息 请求体: body 请求参数信息 响应: 响应头 响应体: 接口的返回数据 ---给前端用的 --测试人员通过接口响应判断接口的状态 ---自动化测试可以通过接口的返回做断言 python代码的方式请求接口(接口自动化): 1.环境: 需要用到第三方库 requests pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple 2. 导入 import requests 3.使用requests 发起get请求 1.没有参数的get请求: 直接requests.get(url) 2.有参数的get请求: #'http://api.wpbom.com/api/ancien.php?msg=琵琶行&b=1' ---可用公共api 2.1: 将参数放在url地址中请求 2.2:将参数和url地址分别请求 url3 = 'http://api.wpbom.com/api/ancien.php' #get请求参数 parm = { 'msg':'相思', 'b':'1' } rq = requests.get(url=url3,params=parm) 4.发起post请求 requests.post(url=url_edit,headers=header_edit,data=data_edit) 5.发起上传文件请求 file = { 'imgFile':('tup.png',open(path,'rb'),'image/png') #tup.png --文件名称,open(path,'rb')--处理文件的方式 #'image/png' --文件类型 } requests.post(url=file_url,data=file_data,headers=file_header,files=file) 6.获取接口信息: 请求: 请求头信息: rq.request.headers 响应: 响应头: rq.headers #获取响应头信息 响应体: rq.text #获取文本格式的响应体信息 rq.content.decode('unicode_escape') #获取转码后的响应体信息 7.传入cookie的方式: 1. 通过请求头信息上传 通过登录的响应头信息获取cookie #登录的响应头信息中 一般会有一个 set-cookie 登录后返回的 token信息不是固定在响应头里的,有时候是在响应体里 #看接口文档或问开发 2. 直接上传: 直接获取cookie: rq.cookies #--直接获取响应的cookie 直接在post请求参数中传入 requests.post(url=url_edit,headers=header_edit,data=data_edit,cookies=cookie) 8.以会话的方式发起请求 s= requests.session() #建立一个会话,然后通过会话发起请求,通过会话发起的请求会自动带上cookie,不需要每次手动去传cookie s.post() s.get() http和https有什么区别? https 多了一个证书:更安全一点 有证书就是会被备案 ssl证书 在数据传输过程中加密 当前99.9%的网站都是https了 9.https 请求--证书操作: 忽略证书错误: verify=False #默认是True 可以设置为 False忽略证书错误