接口自动化3--pytest的fixture用法

一、fixture详解

1、概念

        fixture是pytest用于将测试前后进行预备、清洁工作的代码处理机制

2、fixture相对于setup和teardown来说有以下几点优势

        fixture命名更加灵活,局限性比较小

        conftest.py配置里面可以实现数据共享,不需要import就能自动找到一些配置

3、使用方法1

        

        @pytest.fixture中使用

        autouse=True:全部测试用例都使用该前置步骤

4、使用方法2

        目标测试用例中引入前置方法 

5、fixture夹具,@pytest.fixture

(scope="function")    每一个函数或方法都会调用

(scope="class")     每一个类调用一次

(scope="module")    每一个.py文件调用一次

(scope="session")    多个文件调用一次, .py文件就是module

fixture的作用范围:session>module>class> function   

二、fixture功能之session

使用步骤:

1、目标文件所属目录下新建“conftest.py”文件

(必须命名为conftest.py,框架会识别这个文件)

(conftest.py配置里可实现数据共享,不需要import就能自动找到一些配置)

2、conftest.py文件中写入配置

 3、命令行查询目标目录下所有测试用例

(多文件测试用例,session只执行一次)   

 三、conftest管理fixture

conftest.py:

        conftest.py为固定写法,不可以修改名字

        使用conftest.py文件方法无需导入

        函数作用于当前文件夹 下属文件夹 

四、fixture+conftest

1、返回数据

1、conftest.py中定义参数

 

 2、目标测试用例中使用

        用法1:直接使用

         用法2

 2、使用yield做后置处理

 每个测试用例结束都打印了一次后置步骤

与 return "我是返回值“ 的区别是,return后不再执行后置步骤

yield返回值后还会再执行后置步骤

3、usefixtures方法 

fixture调用方法:

@pytest.fixture(scope="function")
def func():
    xxx

第一种:可以接收返回值(方法里面写方法名)

def test_func(func):
    xxx

  第二种:无法接收返回值

@pytest.mark.usefixtures('func')
def test_func():
    xxx

        实例:

        

 

        不能添加返回值实例:

        

         

        (不会报错,但是也没有出现返回值)

 4、params和ids

params:参数

ids:测试用例标识

实例:

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在进行接口测试时,使用自动化框架可以提高工作效率并减少出错的可能性。Python中的requests库可以方便地发送HTTP请求并获取响应,而pytest则是一个功能强大的测试框架,可以支持接口测试自动化。 1. requests库是Python中的HTTP客户端库,可以方便地构建和发送HTTP请求,并解析返回的响应数据。requests库的文档详细且易于理解,可以快速掌握该库的使用方法,例如发送基本的GET、POST、PUT等HTTP请求,设置请求头、请求体、cookies等,也可以进行文件上传和下载。 2. pytest是一个基于Python的测试框架,它提供了完整的测试和夹具API,并支持并行化测试和分布式测试。pytest测试用例可以非常灵活和高效地管理和维护,可以根据需要添加更多的测试用例,而不会破坏原有的测试逻辑。 3. 接口自动化测试主要包括如下几个步骤:构建请求参数、发送HTTP请求、解析响应数据、对返回结果进行断言。使用requests和pytest库可以方便地完成以上操作,例如使用pytestfixture、参数化和mark机制可以让测试用例更容易编写和维护,而requests则可以方便地发送HTTP请求和获取响应。 4. 使用Python、requests以及pytest可以轻松构建接口自动化测试框架,并集成到CI/CD流程中实现持续集成和自动化部署,从而提高软件质量、减少故障率和提高开发效率。同时,Python作为一门便于阅读的语言,使得代码易于理解和维护,也更适合于多人协作开发。 ### 回答2: Python requests pytest 接口自动化框架是一种基于 Python 语言的测试框架,主要用于对接口进行自动化测试,旨在提高测试效率,降低测试成本。该框架由 Python requests 库和 pytest 测试框架组成,可以快速、方便地进行接口测试。 Python requests 库是 Python 中的一个 HTTP 库,用于发送 HTTP 请求,处理 HTTP 响应并支持 RESTful API。该库简化了 HTTP 请求的过程,提供了易于使用的方法和参数。 而 pytest 是一个功能强大的 Python 测试框架,可以自动化执行测试用例,提供了易于编写和扩展的测试样式。与传统的测试框架相比,pytest 拥有更高的执行效率和更好的测试结果报告。 在使用该框架进行接口自动化测试时,首先需要使用 pytest 编写测试用例,然后使用 Python requests 库发送 HTTP 请求,并进行断言和验证响应结果。该框架支持多种请求方法、参数、Cookie、Headers 和响应格式等,可根据需要进行自定义。 另外,该框架还支持测试用例的参数化、Fixture 和模块化等功能,可以实现重复测试用例的复用、测试环境的配置和共享等。 总之,Python requests pytest 接口自动化框架是一种功能强大、易学易用的自动化测试工具,可以有效提高测试效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值