• 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接口请求类型的封装。

    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()均可实现

    1. # 2种用法:第一种suite.addTest()
    2. suite.addTest(Case('test_case01'))
    3. suite.addTest(Case('test_case02'))
    4. suite.addTest(Test('test_01'))
    5. suite.addTest(Test('test_02'))
    6. #2种用法:第二种suite.addTests()
    7. suite.addTests(map(Test, ["test_01", "test_02"]))
    8. suite.addTests(map(Case, ["test_case01", "test_case02"]))

    【3】TestRunner测试结果输出到控制台,要将测试结果输出到report中,使用HTMLTestRunner.py文件

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

    说明:

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

    2.该套测试脚本相对基础,需要完善的地方还要很多。

    最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

    软件测试面试小程序

    被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

    涵盖以下这些面试题板块:

    1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

    6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

      全套资料获取方式:点击下方小卡片自行领取即可

  • 相关阅读:
    Windbg可以看到Visual Studio中看不到的有效函数调用堆栈
    python中的小问题01--使用cmd命令行中的pip3下载的包(模块)在pycharm中无法获取
    httprunner实战接口测试笔记,拿走不谢
    【杂项】如何将指定字体装入电脑然后能在Office软件里使用该字体?
    Python在工业自动化领域的应用详解
    Python的快捷键
    倍福tnzip,tszip,tpzip文件的打开方式
    flutter升级AS和gradle后编译出错(No signature of method: build_gbqp6.android())错误
    前端基础之《Bootstrap(8)—CSS组件_导航条》
    springcloud和基础服务的搭建以及封装
  • 原文地址:https://blog.csdn.net/weixin_47648853/article/details/133206831