当前位置: 首页 > news >正文

python3+requests+unittest实战详解(一)

1、环境准备

python3 + pycharm编辑器

2、框架目录展示

(该套代码只是简单入门,有兴趣的可以不断后期完善)

(1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送;

(2)report文件夹存放测试结果报告;

(3)unit_test文件夹是存放测试用例(demo.py和test_unittest.py用例用法介绍,实际项目中可以按照不同模块新建python package,来存放不同模块的接口用例);

(4)util对测试接口相关方法的封装:HTMLTestRunner.py生成测试报告的封装;send_mail.py发送邮件的封装;test_get_post.py接口请求类型的封装。

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

华测教育软件测试进阶全套视频教程(2023全网最新版,软件测试进阶自学必备)

3、代码实现说明

(1)get、post接口请求实例介绍

【1】requests.get()、requests.post()用法自行百度

【2】请求之后对返回结果进行断言:assertEqual()等,断言方法很多,可上网查询

(2)实际中,有些参数或方法在执行用例之前必须说明,这就涉及到setUp、tearDown、setUpClass、tearDownClass的用法

【1】setup():每个测试函数运行前运行;teardown():每个测试函数运行完后执行;setUpClass():必须使用@classmethod 装饰器,所有test运行前运行一次;tearDownClass():必须使用@classmethod装饰器,所有test运行完后运行一次

【2】也可以对某些用例执行过程中跳过:unittest.skip(),具体使用方法可上网查询

(3)如果每次接口请求时都使用requests/get、post请求实在是繁琐,我们可以对该方法进行封装,接口请求时直接调用即可

(4)测试用例编写完之后,主函数run.py直接使用unittest模块将所有用例一并执行

【1】unittest模块:TestSuite 多个测试用例集合在一起;TestRunner 是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息(unittest.TextTestRunner().run(suite))

【2】suite.addTests()和suite.addTest()均可实现

# 2种用法:第一种suite.addTest()
suite.addTest(Case('test_case01'))
suite.addTest(Case('test_case02'))
suite.addTest(Test('test_01'))
suite.addTest(Test('test_02'))#2种用法:第二种suite.addTests()
suite.addTests(map(Test, ["test_01", "test_02"]))
suite.addTests(map(Case, ["test_case01", "test_case02"]))

【3】TestRunner测试结果输出到控制台,要将测试结果输出到report中,使用HTMLTestRunner.py文件(该文件参考地址:https://github.com/huilansame/HTMLTestRunner_PY3)

(5)测试完成之后,想要将测试结果发送邮件给相关人员

发送邮件具体实现方法,搜索:(利用SMTP协议发送QQ邮件+附件)

说明:

1.代码中涉及到的测试数据都屏蔽掉了,可以直接使用自己负责项目的真实数据进行了解;

2.该套测试脚本相对基础,需要完善的地方还要很多,欢迎各位学习交流;

3.后续会再写一篇博客接口自动化测试(二),实现Excel来管理用例等。

4、写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 

相关文章:

  • 基于51单片机的温度测量报警系统的设计与制作
  • 基于SpringBoot+Vue的服装销售系统
  • bitlocker 加密锁定的固态硬盘,更换到别的电脑上,怎么把原密钥写进新电脑TPM芯片内,开启无需手动填密钥
  • java 读取pdf文件内容
  • 说一说ajax的请求过程?
  • dd命令用法学习,是一个功能强大的工具
  • docker搭建waline评论系统
  • Vue 3响应式对象: ref和reactive
  • Ubuntu 20.04 上安装和使用 Docker
  • Spring MVC的常用注解
  • Kubernetes(K8s)从入门到精通系列之十八:使用 Operator Lifecycle Manager(OLM) 安装operator
  • 保姆级教学安装Linux操作系统,以及Linux的语法入门
  • 论文阅读——ELECTRA
  • 一台服务器最大能支持多少条 TCP 连接
  • 9.Vue2-监听属性的用法
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 分享的文章《人生如棋》
  • 《深入 React 技术栈》
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Babel配置的不完全指南
  • Create React App 使用
  • echarts花样作死的坑
  • EventListener原理
  • java中具有继承关系的类及其对象初始化顺序
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • storm drpc实例
  • Vue.js-Day01
  • 开发基于以太坊智能合约的DApp
  • 扑朔迷离的属性和特性【彻底弄清】
  • 实现简单的正则表达式引擎
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 赢得Docker挑战最佳实践
  • 移动端高清、多屏适配方案
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • # Java NIO(一)FileChannel
  • #每日一题合集#牛客JZ23-JZ33
  • (C++)八皇后问题
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (zt)最盛行的警世狂言(爆笑)
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (小白学Java)Java简介和基本配置
  • /bin/rm: 参数列表过长"的解决办法
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ACTF2020 新生赛]Include
  • [C++] 统计程序耗时
  • [DevOps云实践] 彻底删除AWS云资源
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c