哈喽大家好,我是歪小王,嗨皮了一个端午,大家端午节过得怎么样?有没有胖三斤?
1. 开篇
本期,正式开始接口自动化的学习之旅。自动化测试,现在已经成了测试热门技能之一,日常工作中,自动化测试对于工作效能带来了很大的提升。自动化又分为单元自动化、接口自动化、UI(web、app、小程序)自动化。其中接口自动化我认为是最实用的一种自动化测试。
单元自动化没有接触过,仅仅是简单了解,不多赘述。
ui自动化检验系统页面操作,交互等,是比较好用的。但是ui自动化的限制性较大,比较依赖于页面元素定位,如果是项目初期,ui自动化的效能就体现不出来了。对于完整的项目来说,ui自动化是一个不错的框架。
接口自动化相比较ui自动化,脱离页面元素定位的局限性,跳过前端,直接对接口出参、入参进行校验。在项目迭代或者回归的时候,对已有接口进行流程校验,是个不错的帮手。
同样,接口自动化在微服务架构的项目中,也可以起到很好的作用。将微服务的接口组装后,进行流程化走查,也是非常便利的。
2. 框架成员
接口自动化框架,主要大功臣就是pytest这个框架,pytest是一个非常成熟的全功能的Python的单元测试框架,简单灵活,容易上手。
pytest与unittest区别(个人感觉):
- pytest相较于unittest命名更灵活。unittest的命名必须模块、文件、类、方法中加test关键字。pytest则可以根据配置文件中定义好的命名格式,来进行命名。
- 断言方式;unittest的断言方式需要记断言方法,pytest则直接用python自带的assert断言即可。
- pytest定义类时,不需要继承任何模块。unittest则需要继承TestCase(强行黑)。
其次是allure报告。allure相较于html报告,页面更美观,能够更简单直接的看到接口执行情况。支持个性化定制。
然后是用例,接口自动化使用yaml文件进行用例管理。维护简单,外加yaml文件的数据格式返回是字典形式,对于接口的json字符串来说比较友好。
其他成员就是jenkins(持续继承持续部署)、log(日志)、pymysql(python数据库管理模块)、requests(python请求模块)等组成。
3. 结语
好了,本期内容就到这里了。下期内容将会详细说pytest的基本使用。
各位大佬。我们下期见~~~