python3+unittest+ddt+excel+jenkins接口自动化测试讲解(一)

Hello,好久没更新了,今天跟大家一起来学习下基于unittest的接口自动化测试,先给大家看下最终的unittest框架目录结构:

python3+unittest+ddt+excel+jenkins接口自动化测试讲解(一)

这里大家需要下载的第三方库分别是:

pip3 install requests/pip3 install ddt/pip3 install openpyxl/pip3 install mysql-connector/pip3 install unittest

可能会有些许的遗漏,具体大家在写的时候,如果发现第三方没有,自己再安装下。

(一:)接下来,我们先来学习下这个第三方库:requests,这个库可以通过接口的请求方式来做接口的触发,主要是协助完成http请求,这里主要介绍我们常见的两种请求方式:get/post,直接上代码(下面这段代码小伙伴们可以拿来直接练手):

这里需要跟大家说明的是:我这里没有上送请求头,有些接口是需要上送请求头headers的,所以如果有请求头,需要注意的是请求头里是否有如下的头信息:

如果请求头里已经表明json,那么我们在发接口的时候,请求体body里面需要转换下类型,主要是把dict转成json,可以使用json.dumps(),另外把json转成dict,可以使用json.loads()

(二:)接下来,我们来学习下unittest框架,这个框架我个人觉得,如果公司的接口与接口之间依赖性不是很高的,那用这个框架还是可以的,如果依赖性很高,那用起来会有些许的不方便,反而用其他一些工具效率来的更高,比如:jmeter、postman,这里的依赖性很高,指得是上一个接口应答报文的某个值是下一个请求报文的入参,所以我们需要对接口做相应的关联。

先来学习下unittest框架的基本结构:

这里需要说明下:首先测试案例必须以test开头来命名,另外setUp()和tearDown是对于每条测试案例执行前每次都要执行一边,简单说就是你有多少条测试案例,就要在每条案例执行前先执行下setUp,案例结束之后每次都要执行一次tearDown,所以从结果可以看出案例执行之前会先输出2,结束会输出3

对于被装饰器修饰的类方法,这个是针对所有的案例开始前setUpClass要执行一次,这里不像setUp,只要执行测试案例它都要执行,同时tearDownClass是所有案例执行结束后执行一次,结合上面的输出结果就很明显了。

(三:)学完unittest,我们来看下测试报告的生成

unittest会自动生成测试报告,但是需要借助第三方的一个报告模板HTMLTestRunner,需要把这个模板存放在python的安装目录的Lib目录下,这个模板可以去官网下载。

下面介绍两种加载测试用例的方法,一种是指向封装测试用例的类,一种是指向封装测试的模块

下期介绍如何从excel中读取数据,以及如何链接数据库,管理我们的配置文件之类的。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树数据分析Excel文件208972 人正在系统学习中

来源:西欧伯爵

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月25日
下一篇 2020年3月25日

相关推荐