自动化测试:
用代码点点点 --用代码去执行用例
当前自动化主要分为:
接口自动化
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忽略证书错误