Python+requests+unittest执行接口自动化测试详情
为什么会有400呢?因为有一些接口是异常的,比如url错误的,少传入参数、空参,所以会出错,常理之中。
这篇文章主要介绍了Python+requests+unittest执行接口自动化测试详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
1、安装requests、xlrd、json、unittest库
<1>pip 命令安装:
pip install requests
pip install xlrd
pip install json
pip install unittest
2、创建六类Python Package
利用Page Object Model 设计理念创建六类Python Package(也可根据项目要求具体实施)
3、创建一个Base_Page.py
先在base包里创建一个Base_Page.py
<1>导入模块,并创建Base类,封装各类请求方法
1 2 3 4 5 6 7 8 9 10 |
|
因为每一个请求都会有params参数或是data参数,但是不可能两个都存在,所以这里用了None,依次类推
<2>适配于接口用例执行,读取Excel表时,将各类请求做判断,当符合哪一种时,就去执行哪一种
1 2 3 4 5 6 7 8 9 |
|
<3> 将几种请求做简单调试,调试通了,那么我们就可以进行下一项
也可以对需要拿到cookie的接口进行封装方法保存:
1 2 3 |
|
之后我们要将base页验证的这些代码做清除,否则的话永远都是调的这些接口
4、创建common类
再common类下创建commons.py文件,并创建common类
<1> 封装日志方法
这里我添加了一个data包,用于存放xlrd表,以及html报告存放路径、log日志存放路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
<2> 封装读取Excel表方法,把他转换成字典形式,方便json格式读取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
为什么要转换格式呢?
这里就涉及到了怎么设计一个自动化接口用例
用例的参数值要用json格式写入,不要有空格
预期结果的出参也要用json格式写入
不要有' '值都要用" "包起来
<3>封装一个生成HTML报告方法
1 2 3 4 5 6 7 |
|
其余还有需要补充的可以继续添加,我这里三个基本够用
5、读取Excel数据表联合使用
在case包下创test用例,并调用我们在base页封装好的请求api以及common中的读取Excel数据表联合使用
<1>创建test_login.py
<2> 导入unittest、common类下的commons类、ddt数据驱动、Base下的base_page页
1 2 3 4 |
|
<3> 搭建unittest框架内部,并填充方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
<4> 执行用例后生成测试报告:
1 2 3 4 |
|
<5> copy当前要执行的脚本路径,添加到运行方式为python里
最后我们run一下
控制台是这样的
为什么会有400呢?因为有一些接口是异常的,比如url错误的,少传入参数、空参,所以会出错,常理之中
<6> 看下生成的测试报告
在pycharm中是这样的
然后我们copy下他的路径到浏览器中查看
根据我追踪的信息,第一条失败是因为sessionId是可以变的,每一次的值都是不一样,在这里也希望大家能够找到BUG,并妥善处理好每一个问题。
到此这篇关于Python+requests+unittest执行接口自动化测试详情的文章就介绍到这了,更多相关Python接口测试内容请博主以前的文章或继续浏览下面的相关文章希望大家以后多多支持小编!
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
更多推荐
所有评论(0)