软件测试之接口自动化测试基础(python封装接口对象)

接口对象封装思想

之前接口对象并没有封装,导致代码比较冗余,耦合度也比较高,不利于我们的维护。

进行接口封装就可以解决这个问题。

接口封装的主要思想,就是分层。

如果大家还记得之前的分享,就发现接口对象和断言都是放在一起的,其实按照功能可以分为两层。

1接口对象层:根据接口api进行封装,重点是怎么调用接口。接口返回的对象,直接给测试脚本层去使用。耦合度低。

2测试脚本层:重点是测试数据和断言

总结:

1接口对象层用面向对象的思想进行封装。测试脚本层,直接借助unittest框架来实现。

2将动态变化的数据,设计到方法的参数中去,将固定不变的,直接写成方法去实现,将响应的结果作为返回值。

代码示例:

1 接口对象层的封装:

class LoginApi(object):
@classmethod
def login(cls,session,url,login_data):
res = session.post(url=url,
data=login_data)
return res

2 测试脚本层的封装:

代码笔记:

1 把每次测试用例都需要的获取session的方法放在setUPClass函数里

2 因为断言也可以复用,所以把断言也封装成一个函数,这里为了方便跟大家介绍,所以封装到了类的外部,实际开发中是作为一个模块单独封装引入的。

# 封装断言方法
def common_assert(self, res, msg):
self.assertIn(msg, res.json().get('message'))
class TestLogin(unittest.TestCase):
session = None
@classmethod
def setUpClass(cls) -> None:
cls.session = requests.Session()
# 测试 登录成功
def test01_login(self):
data = {"userName": "admin", "password": "a12345"}
url = 'http://127.0.0.1:3000/api/v1/user/login'
res = LoginApi.login(session=self.session, url=url, login_data=data)
# 断言
common_assert(self, res, '登录成功')

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
在这里插入图片描述
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值