接口测试单排日记-2020/4/19-Python参数关联接口

做测试的时候,可能某项客户端要发送的数据值来自上次客户端的响应

例如:
对Web Tours登录过程进行抓包
接口测试单排日记-2020/4/19-Python参数关联接口_第1张图片
登录时,客户端发送的userSession数据来自之前服务器的返回值,每次都不一样
接口测试单排日记-2020/4/19-Python参数关联接口_第2张图片
接口测试单排日记-2020/4/19-Python参数关联接口_第3张图片
由此,就造成了参数关联接口

解决方法:使用正则表达式,截取返回值中的所需要的数据

接口测试单排日记-2020/4/19-Python参数关联接口_第4张图片

具体:服务器先向客户端发送in-home,获取到服务器返回信息
接口测试单排日记-2020/4/19-Python参数关联接口_第5张图片
使用正则表达式,截取返回信息有用部分
接口测试单排日记-2020/4/19-Python参数关联接口_第6张图片
将获取到的数据和其他数据作为发送数据,再次发送到服务器
接口测试单排日记-2020/4/19-Python参数关联接口_第7张图片
获得服务器成功登陆界面
接口测试单排日记-2020/4/19-Python参数关联接口_第8张图片

# 导包
import requests
import re
#接口地址
url2 = "http://localhost:1080/WebTours/nav.pl?in=home"
s = requests.session()# 为了保持和下一个接口建立相同的连接通道
res = s.get(url2)
# print(res.text)
usersession = re.findall(r'name=userSession value=(.+?)>',res.text)
print(usersession)
# para2 ={"in":"home"}
# 接口地址
url ="http://localhost:1080/WebTours/login.pl"
para ={"userSession":usersession[0],"username":"jojo","password":"bean","login.x":"54","login.y":"11","login":"Login","JSFormSubmit":"off"}
r = s.post(url,data=para)
# 发送post请求
# r = requests.post(url,data=para)
print(r.text)

接口测试单排日记-2020/4/19-Python参数关联接口_第9张图片

你可能感兴趣的:(软件测试)