探索接口自动化三--处理需要登录后才能使用的业务接口测试unittest
导语
很多功能都是需要登录以后才能使用,那这样的接口测试需要如何去编写脚本呢?方法其实有很多种,可以根据实际的需求,挑选最适合的方法,本次以更新用户信息接口为例,来实践并记录基于unittest框架下编写接口脚本的过程。
一、分析需求接口
在探索框架(一)--unittest框架(Python)中有说明基于unittest编写脚本的要求,这里直接上代码先看一下更新用户信息接口请求情况,代码如下:
-
import requests, unittest
-
-
-
class test_updateinform(unittest.TestCase):
-
def test_case1(self):
-
url = "http://......update_information.do"
-
userinfo = {
-
"email": "xiaoxiao@126.com",
-
"phone": "18120121135",
-
"question": "喜欢的水果",
-
"answer": "西瓜"
-
}
-
response = requests.post(url, data=userinfo).text
-
print(response)
-
-
-
if __name__ == '__main__':
-
unittest.main()
运行以后,print语句打印的是:{"status":1,"msg":"用户未登录"},既然接口显示未登录,那先登录,再来更新信息就可以了,实现的方式有多种,比如:
方法一:在当前的测试类中,追加一个setup方法,在setup方法中写入登录的脚本;
方法二:在当前的测试类中,追加一个新的测试方法,test_case1来完成登录的调用,test_case2来实现更新信息;
方法三:另外创建一个脚本文件,实现登录,再通过测试框架进行接口测试联调;
方法一和方法二类似,本次用方法一来实现(后续框架及脚本完备后,可用方法三实现),增加代码如下:
二、传参
利用postman分析接口以后,就知道,只需要将登录以后的“JSESSIONID”值传到更新信息接口中即可,在登录接口获取“JSESSIONID”值代码如下:
-
response = requests.post(url, data=userinfo)
-
# 获取JSESSIONID,并构造为字典数据
-
self.sessionId = dict(response.cookies)
在更新信息接口发送请求时加上此参数,代码如下:
response = requests.post(url, data=userinfo, cookies=self.sessionId).text
加上以上代码以后,就可以成功更新用户信息了。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfihgfj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01