摘要:
unittest单元测试框架,主要由四部分组成:测试固件、测试用例、测试套件、测试执行器 测试固件(test fixture) 测试固件有两部分,执行测试前的准备部分setUp(),测试执行完后的清扫部分tearDown() 测试用例(test case) 测试用例中,包含测试固件,具体的测试代码的 阅读全文
摘要:
python3配置文件的增删改查等操作可以使用内置的ConfigParser模块,可以自行百度学习,也可以看 Python3学习笔记27-ConfigParser模块 配置文件一般存放着环境信息,比如url和一些测试过程中后续需要用到的字段。还有测试中需要导入,导出的一些文件。在项目下新建Confi 阅读全文
摘要:
在完成了日志类封装之后,那我们就要对测试基类进行实现,在其中对一些请求再次封装,在项目下新建一个Common文件夹,在文件夹下新建Base_test.py文件,项目结构如下。 具体怎么封装还是要看被测接口需要什么,只能提供一个大致思路,我项目能用的封装,你项目并不一定能用 首先是get请求,第一个肯 阅读全文
摘要:
首先我们先来实现日志的功能,日志可以使用python3自带logging模块,不会的可以百度一下相关文章,也可以看我另外一篇文章Python3学习笔记24-logging模块 在封装日志类前,我们需要想一下,我们需要实现怎样的日志功能,需要把日志放到项目下指定路径,文件名为日期.log,需要把所有日 阅读全文
摘要:
什么是自动化测试框架 关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架。 接口自动化测试框架核心无非是选择 一个用来编写脚本的语言,一个用来模仿http请求的http库,管理脚本的执行工具,选择python,http库 阅读全文
摘要:
因为http是没有状态的协议,上一个请求和下一个请求是没有关联。但是现实中又需要有关联,比如一个页面某个操作需要登陆之后才能进行,没有登陆就提示你登陆。为了实现这样的效果,所以出现了Cookie和Session这两种机制。这里的Session是指http的一种机制,和requests的会话对象是两个 阅读全文
摘要:
会话对象可以在跨请求保持某些参数,会话对象有requests api的大部分方法,我理解会话对象就是一个资源共享池 使用requests.Session()可以创建会话对象的实例 还是以之前GitHub的接口为例,之前文章在调用接口的时候,每次都需要做一个基本认证。那现在直接把这个基本认证放到会话对 阅读全文
摘要:
因为找不到可以演示上传接口,所以只能纯代码了 文件上传 上传文件是在请求中使用files参数,files需要指向一个dict,然后dict里面的键是接口中对应文件名的字段,而值就是打开这个文件读取到内存的内容 以上图中这个字段举例 path = 文件路径 file = {'templateFile' 阅读全文
摘要:
默认情况下,除了head请求,requests会自动处理重定向 重定向就是会把url重新指定到另一个。比如github,使用http会自动重定向到https。一些公司也会使用网关啥的做重定向。 可以看出url中http变成了https,使用histroy可以追踪重定向 如果不想要使用重定向,可以在请 阅读全文
摘要:
在实际发布到生产上的接口测试代码,都会加上超时的设置,当服务器超过一定时间没有响应,会报出超时异常。因为requests会自动等待响应。如果不加上超时的设置,可能脚本会一直卡在那里。。 超时设置在请求中使用timeout参数 因为github是国外网站,0.01秒完成应答几乎不可能,所以会报提示超时 阅读全文