随笔分类 -  接口自动化

pytest+requests+allure
摘要:项目路径 config.py from utils.connect_mysql import DbConnect class BaseConfig: VERSION = "v1.0" EMAIL = "123@qq.com" APPID = "10086" class TestConfig(Base 阅读全文
posted @ 2023-11-27 22:14 Tony_xiao 阅读(75) 评论(0) 推荐(0) 编辑
摘要:前言:用过pytest的小伙伴应该都知道,pytest之所以功能强大,是因为pytest的插件非常的多。这是插件大多是pytest的使用者所开发的,今天咱们专门来聊聊如何去自己开发Pytest的插件。 一:pytest插件的介绍 pytest框架采用的是插件系统的模式来设计的,pytest运行的所有 阅读全文
posted @ 2022-08-27 21:53 Tony_xiao 阅读(547) 评论(0) 推荐(0) 编辑
摘要:pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习。详细文档可以查看pytest官方文档https://docs.pytest.org/en/latest/reference.html#hooks 钩子函数总结 阅读全文
posted @ 2022-08-26 20:35 Tony_xiao 阅读(456) 评论(0) 推荐(0) 编辑
摘要:前言:在一个测试用例中需要多次调用同一个fixture的时候,工厂化的 fixture 的模式对于一个 fixture 在单一的测试中需要被多次调用非常有用。 之前写fixture是直接return一个数据,在测试用例中可以直接使用,现在我们需要返回一个生成数据的函数,这样就能在用例中多次调用了。 阅读全文
posted @ 2022-08-22 22:18 Tony_xiao 阅读(147) 评论(0) 推荐(0) 编辑
摘要:前言:前面讲 request 是pytest的一个内置 fixture ,作用是获取测试的上下文,可以通过request.config 获取配置对象。pytestconfig 的作用跟 request.config 是一样的,都是获取配置对象。 pytestconfig 是一个内置fixture,用 阅读全文
posted @ 2022-08-22 20:39 Tony_xiao 阅读(377) 评论(0) 推荐(0) 编辑
摘要:前言:request 是 pytest 的内置 fixture , "为请求对象提供对请求测试上下文的访问权,并且在fixture被间接参数化的情况下具有可选的“param”属性。" 1、request.param 前面讲fixture参数化的时候,有接触到 "request.param" 用于获取 阅读全文
posted @ 2022-08-21 22:34 Tony_xiao 阅读(787) 评论(0) 推荐(0) 编辑
摘要:前言:写完一个项目的自动化用例之后,发现有些用例运行较慢,影响整体的用例运行速度,于是领导说找出运行慢的那几个用例优化下。--durations 参数可以统计出每个用例运行的时间,对用例的时间做个排序。 pytest -h 查看命令行参数,关于 --durations=N 参数的使用方式 --dur 阅读全文
posted @ 2022-08-18 22:53 Tony_xiao 阅读(340) 评论(0) 推荐(0) 编辑
摘要:在 allure 报告首页 ENVIRONMENT 显示 'There are no environment variables' 没有环境变量的配置信息。环境变量配置可以添加报告相关的配置参数,如运行的系统环境,版本号,测试环境,测试人员等基本信息。 问题描述 allure 报告首页 ENVIRO 阅读全文
posted @ 2022-08-18 22:03 Tony_xiao 阅读(1110) 评论(0) 推荐(0) 编辑
摘要:前言:pytest 结合 allure 描述用例的时候我们一般使用 @allure.title 和 @allure.description 描述测试用例的标题和详情。在用例里面也可以动态更新标题和详情,使用allure.dynamic方法实现。 allure动态属性 allure.dynamic.f 阅读全文
posted @ 2022-08-18 21:46 Tony_xiao 阅读(182) 评论(0) 推荐(0) 编辑
摘要:前言:什么是元数据?元数据是关于数据的描述,存储着关于数据的信息,为人们更方便地检索信息提供了帮助。pytest 框架里面的元数据可以使用 pytest-metadata 插件实现。文档地址https://pypi.org/project/pytest-metadata/ 未安装插件pytest-m 阅读全文
posted @ 2022-08-18 20:50 Tony_xiao 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Allure介绍 Allure是一款测试报告框架,不仅报告美观,而且方便CI集成。 allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比如:java的Junit、TestNG;python的pytest等。 allure会将测试用例的执行数据保存到xm 阅读全文
posted @ 2022-08-14 18:08 Tony_xiao 阅读(498) 评论(0) 推荐(0) 编辑
摘要:前言:平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候,我们会用测试人力成本换取时间成本,这个时候多找个小伙伴把任务分成2部分,于是时间缩减一半。如果是十个人一起执行,1000个用例理论上只需100分钟就 阅读全文
posted @ 2022-08-14 16:38 Tony_xiao 阅读(65) 评论(0) 推荐(0) 编辑
摘要:前言:平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次 1、环境搭建 pip install pytest-repeat 阅读全文
posted @ 2022-08-13 23:11 Tony_xiao 阅读(576) 评论(0) 推荐(0) 编辑
摘要:前言:80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多“平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了,当bug修复后,我们一般是重点测上次失败的用例。那么自动化测试也一样,当用例特别多时,为了节省时间,第一次部分用例失败了,修复完之后,可以只 阅读全文
posted @ 2022-08-13 22:35 Tony_xiao 阅读(257) 评论(0) 推荐(0) 编辑
摘要:一:skip跳过用例 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例。实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据 阅读全文
posted @ 2022-08-13 22:07 Tony_xiao 阅读(91) 评论(0) 推荐(0) 编辑
摘要:pytest.ini是pytest框架的主配置文件,实际生产中主要用来规范日志的格式或日志文件保存的位置,增加用例标签等等,总之简单易用,属于pytest学习的重要知识点。 pytest.ini文件命名不能修改,文件中第一行必须用【pytest】申明这是一个pytest的ini文件 #基本用法 #保 阅读全文
posted @ 2022-08-12 21:56 Tony_xiao 阅读(1255) 评论(0) 推荐(0) 编辑
摘要:实际工作过程中,一般都有好几套环境,所有我们的自动化脚本也需要在不同的环境运行。每个环境写一套自动化?当然不可能咯,不同环境接口路径没有特殊情况下一般是一样的,不同的就是服务器地址(域名)。 DEV、SIT、UAT、PRD,分别是开发、系统集成、用户验收、预生产四套环境 DEV = Develpme 阅读全文
posted @ 2022-08-12 20:48 Tony_xiao 阅读(482) 评论(0) 推荐(0) 编辑
摘要:前面我们已经了解了pytest基本规则与requests发送请求的基础,如果领导给我们一个接口自动化的任务,我们该如何开展工作呢?当然是先搭建项目基本框架,然后在框架的基础上添砖加瓦啦。下面我们就一起来看看如何入手吧。 1、pycharm中新建项目,新建文件夹,分别管理不同的资源,如下图所示: 这个 阅读全文
posted @ 2022-08-07 22:27 Tony_xiao 阅读(186) 评论(0) 推荐(0) 编辑
摘要:前言: 代码的可维护性除了代码冗余之外还有就是数据尽量不要和代码掺杂在一起,因为阅读起来会非常的凌乱;数据分离能更好的增加代码可读性和可维护性,也能更好的二次修改使用。 上一篇小编与大家分享了pytest参数化,文章中,数据与代码放在一个py文件中,如果要修改数据就比较麻烦了,本篇我们将使用YAML 阅读全文
posted @ 2022-08-06 22:23 Tony_xiao 阅读(595) 评论(0) 推荐(0) 编辑
摘要:前言: 软件测试中,输入相应值,检查期望值,是常见测试方法。 在自动化测试中,一个测试用例对应一个测试点,通常一组测试数据无法完全覆盖测试范围,所以,需要参数化来传递多组数据。 pytest的测试用例参数化使用如下装饰器即可完成 @pytest.mark.parametrize(argnames, 阅读全文
posted @ 2022-08-05 22:04 Tony_xiao 阅读(98) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示