python unittest TestCase间共享数据(全局变量赋值),testcase间的参数传递:接口自动化测试作为小实例
2021/10/17 20:10:14
本文主要是介绍python unittest TestCase间共享数据(全局变量赋值),testcase间的参数传递:接口自动化测试作为小实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、问题原因
使用unittest框架进行接口自动化测试:
多个接口联调测试时,会出现这样的情况,前面的接口返回值,需要后面接口的参数进行测试。
比如
1、登录之后修改用户信息,修改用户信息接口,需要登录接口的session,传到post请求中。
2、通过提交密保问题及答案,修改密码时,修改密码接口,需要提交密保问题及接口的token值作为参数传递到用户信息中。修改密码这个接口的一个参数,就是交密保问题及接口的返回值token。
出现这两种情况应该怎样处理传递这个参数呢?
二、问题解决
(1)方法一:如果在面向对象方法中:
可以将前一个接口数据作为一个返回值传递出来,再用变量接收这个返回值,进行传递
response = requests.post(url,data = user_info1).text print(response) #获取响应的token值,利用loads方法转换为dict(),对这个dict用key取值 response_dict = json.loads(response) forget_token = response_dict['data'] return forget_token
(2)方法二:如果是在独立接口测试中。
可以将前一个接口,放在初始化方法setup()中,用self.xxx接收这个值,这样这个参数就作为类属性,后面用例接收这个self.xxx,AAA = self.xxx即可
def setUp(self): url = "http://localhost:8080//forget_axxxr.do" uerinfo = {'username': '小肥','question':'你今天吃了没','answer':'没胃口吃'} response = requests.post(url,data = uerinfo).text #这个请求对象,调用post方法传入参数 print(response) response_dict = json.loads(response) self.get_token = response_dict['data'] def test_case2(self): url1 = "http://localhost:8080//forgetxxxx.do" Forget_token = self.get_token uerinfo1 = {'username': 小肥','passwordNew':'666666','forgetToken':Forget_token} response1 = requests.post(url1,data = uerinfo1).text #这个请求对象,调用post方法传入参数 print(response1)
(3)方法三:如果是多个接口联调, 不同用例是独立的。
需要设置一个全局变量,这样所有的case就可以共享这个变量
在类的最前面定义这个变量
#定义token的全局变量 global Token 12 接收这个变量token #接收这个token值 globals ()['Token'] = response_dict['data']
这篇关于python unittest TestCase间共享数据(全局变量赋值),testcase间的参数传递:接口自动化测试作为小实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础