iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python+pytest自动化测试封装怎么实现
  • 425
分享到

python+pytest自动化测试封装怎么实现

2023-07-02 12:07:59 425人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python+pytest自动化测试封装怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!例如单个接口的请求代码如下:i

本篇内容介绍了“python+pytest自动化测试封装怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

例如单个接口的请求代码如下:

import requestsheaders = {    "user-agent": "Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/99.0.4844.51 Safari/537.36"}url = "https://mp.toutiao.com/profile_v4/"res = requests.get(url=h_url, headers=headers)

假设我们需要将上面这段代码编写成测试框架能执行的测试用例,仅仅只是这样写代码显然是不够的,还需要进行如下补充:

需要将代码封装成单元测试框架 (pytest或unittest) 能识别的测试函数或测试类,否则将不会被识别执行。需要加上断言,即结果与期望之间的对比,单元测试框架才能判定该用例执行结果是否通过,结果==期望则说明通过,否则失败。

Python中函数以及类的封装这里不做过多说明,这篇文章的目的是让大家明白在接口自动化测试中一般怎样封装测试代码

一、测试用例封装的一般规则

测试用例的封装有两种,测试函数和测试类,封装的一般规则如下:

一个测试函数对应一条测试用例。测试类中可定义多个测试方法,一个测试方法对应一条测试用例,测试类可以看作是一个测试用例集。pytest中测试函数或测试方法的命名必须以test开头,测试类名必须以Test开头。具体命名规则可以参考我之前的文章pytest(3)-测试命名规则。对于单接口的测试校验,一个单接口的测试用例只包含一个接口请求,即将一个接口请求封装成一个测试函数或测试方法。对于场景(多接口) 的测试校验,一条场景测试用例需请求多个接口,因此需要将多个接口请求封装在同一个测试函数或方法中。一般封装一个接口的正向校验、异常校验封装成不同的方法,并封装在同一个测试类中。如定义一个登陆的测试类,正确用户名、密码请求封装成一个方法 (即一条测试用例),正确用户名、错误密码请求封装成另一个方法 (即另一条测试用例)。也可以将某个功能点或功能相关联的接口用例封装在同一个测试类中。比如个人中心涉及到的接口,可以封装在同一个测试类中二、测试函数的封装

一般而言,一个测试函数对应一条用例。上面的代码编写成一条测试用例,示例如下:

python+pytest自动化测试封装怎么实现

 强调,pytest中测试函数命名必须以test开头,如test_get_home。

三、测试类/方法的封装

一个测试类相当于一个测试用例集,类中的每个方法对应一条测试用例。以登录接口为例,封装成测试类,示例如下:

python+pytest自动化测试封装怎么实现

 强调,pytest中测试类命名需要以Test开头,如TestLogin,且测试类中不能有init方法。测试类中测试方法必须以test开头,如test_login_nORMal。

四、示例代码

pytest中可以使用命令行或者使用代码方式即 pytest.main() 执行用例,具体可参考文章pytest(1)-简介。

完整的示例代码如下:

import requestsimport pytestimport JSONdef test_get_home():    '''    请求首页接口    :return:    '''    headers = {        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"    }    url = "Https://www.cnblogs.com/lfr0123/"    res = requests.get(url=url, headers=headers)    # 断言,判断返回结果的code是否等于200,当然实际接口测试中一般返回结果中还会有别的字段需要断言    assert res.status_code == 200 class TestLogin:    '''    登录接口校验    '''    url = "http://127.0.0.1:5000/login"    headers = {"Content-Type": "application/json;charset=utf8"}     def test_login_normal(self):        '''正确用户名、正确密码登录'''        data = {            "username": "AndyLiu",            "passWord": "123456"        }        res = requests.post(url=self.url, json=data, headers=self.headers)        # 断言        assert res.status_code == 200        assert json.loads(res.text)["token"]     def test_login_error(self):        '''正确用户名、错误密码登录'''        data = {            "username": "AndyLiu",            "password": "111111"        }        res = requests.post(url=self.url, json=data, headers=self.headers)        # 断言        assert res.status_code == 200        assert not json.loads(res.text)["token"]if __name__ == '__main__':    pytest.main()

“python+pytest自动化测试封装怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: python+pytest自动化测试封装怎么实现

本文链接: https://www.lsjlt.com/news/341840.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python+pytest自动化测试封装怎么实现
    本篇内容介绍了“python+pytest自动化测试封装怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!例如单个接口的请求代码如下:i...
    99+
    2023-07-02
  • python+pytest自动化测试函数测试类测试方法的封装
    目录前言一、测试用例封装的一般规则三、测试类/方法的封装四、示例代码总结前言 今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才...
    99+
    2022-11-11
  • Python+Requests+PyTest+Excel+Allure接口自动化测试怎么实现
    本篇内容主要讲解“Python+Requests+PyTest+Excel+Allure接口自动化测试怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python+Requests+PyT...
    99+
    2023-07-05
  • python+playwright+pytest+allure+pom+yaml实现UI自动化测试
    一. 演示项目源码 https://gitee.com/giteetangll/playwright-demo 二、UI自动化分层设计 Auth:登录认证保存后的认证信息 BasePage:封装pl...
    99+
    2023-09-10
    python pytest 开发语言
  • Appium+Python+pytest自动化测试框架的实战
    菜鸟一枚,写的不好勿喷,大家一起学习 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公共的方法,Data目录下写的是测试数据,image存的是测试失败...
    99+
    2022-11-12
  • Python怎么实现自动化测试
    本篇文章为大家展示了Python怎么实现自动化测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码...
    99+
    2023-06-14
  • Python+Requests+PyTest+Excel+Allure 接口自动化测试实战
    Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Pyth...
    99+
    2023-02-23
    Python Requests PyTest Excel Allure 接口自动化
  • Python自动化测试pytest中fixtureAPI简单说明
    什么是fixture 根据pytest官方文档的说明,fixture可以简单的归纳为具有以下功能的函数: 配置测试前系统的初始状态; 定义传入测试中的数据集; ...
    99+
    2022-11-12
  • Python自动化测试框架pytest的详解安装与运行
    目录1. pytest的介绍2. pytest的安装1. 使用以下命令进行安装2. 检查是否成功安装正确版本3. pytest识别测试的条件4. pytest的运行4.1 Pycha...
    99+
    2022-11-12
  • Python自动化测试PO模型封装过程详解
    在自动化中, Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) ,通常 PO 模型可以大大提高测试用例的维护效率 优点:可重...
    99+
    2022-11-12
  • python使用pytest接口自动化测试的使用
    简单的设计思路 利用pytest对一个接口进行各种场景测试并且断言验证 配置文件独立开来(conf文件),实现不同环境下只需要改环境配置即可 测试的场景读...
    99+
    2022-11-12
  • 怎么用Python+Pytest实现压力测试
    这篇“怎么用Python+Pytest实现压力测试”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python+Pyte...
    99+
    2023-07-05
  • python实现hive自动化测试
    本程序主要实现hive权限测试。系统中有管理员用户single和测试用户test。在路径/home/test/下,将用例和预期结果写在xml文件中。        执 行过程:kinit single用户,beeline -u -e登录并执...
    99+
    2023-01-31
    测试 python hive
  • PHP中封装性的自动化测试方法
    摘要:自动化测试是一个重要的软件开发实践,它可以提高测试的效率和准确性。在PHP开发中,封装性是实现自动化测试的关键。本文将介绍一些PHP中封装性的自动化测试方法,并给出具体的代码示例。测试框架的选择在PHP开发中,有许多流行的测试框架可供...
    99+
    2023-10-21
    PHP 自动化测试 封装性测试方法 PHP 测试框架
  • UIAutomation自动化测试怎么实现
    UIAutomation是一种自动化测试工具,它可以通过模拟用户操作来进行界面的自动化测试。实现UIAutomation自动化测试的...
    99+
    2023-08-20
    UIAutomation
  • python自动化测试框架pytest和unittest的区别是什么
    这篇文章给大家介绍python自动化测试框架pytest和unittest的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、用例设计规则unittest(1)测试类必须继承unittest.TestCase...
    99+
    2023-06-02
  • 自动化测试框架pytest的Fixture固件怎么调用
    本篇内容介绍了“自动化测试框架pytest的Fixture固件怎么调用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是固件Fixture...
    99+
    2023-07-05
  • Pytest+Yaml+Excel 接口自动化测试框架的实现示例
    目录一、框架架构二、项目目录结构三、框架功能说明四、核心逻辑说明配置文件输出目录请求工具类代码编写case程序主入口执行记录一、框架架构 二、项目目录结构 三、框架功能说明 解决...
    99+
    2022-11-13
  • pytest自动化测试数据驱动yaml/excel/csv/json怎么使用
    这篇“pytest自动化测试数据驱动yaml/excel/csv/json怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2023-07-02
  • 教你怎么用python selenium实现自动化测试
    一、安装selenium 打开命令控制符输入:pip install -U selenium 火狐浏览器安装firebug:www.firebug.com,调试所有网站语言,调试功能 Selenium IDE 是嵌入...
    99+
    2022-06-02
    python selenium自动化测试 python selenium
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作