首页 > 其他分享 >入门8-Pytest部分测试用例的前后置(fixture)(1-参数详解)

入门8-Pytest部分测试用例的前后置(fixture)(1-参数详解)

时间:2023-05-08 22:34:43浏览次数:39  
标签:Pytest request fixture pytest 测试用例 参数 执行

使用fixture

@pytest.fixture(scope=”function”,autouse= False, params=loginutil(),ids=[0,1,2],name="login")

各个参数详解

Scope:作用域

              Function: 用例之前和之后

         Class: 类之前和之后

    Package/session :#整个项目会话之前和之后

Function:

-          手动方式,在测试用例参数里加入fixture的名称

-          Fix通过return或yield返回的话,则可以通过固件名字传递到测试用例当中

Class:

-          手动调用 @pytest.mark.userfixture(“fixture名称”)

Package/session               

-          一般结合conftest.py文件来实现

Autouse = True  #自动执行,所有用例自动执行,默认是False

@pytest.fixture(scope=”function”)

def exe_database_sql():
print(“”) #之前执行

yield

print(“”) #之后执行

Class TestMashang():
              def test_yiran(self, exe_database_sql): #会执行部分前置内容

Params: 实现参数化

-          def exe_runcase(request):

print(request.param)

#request 和request.param是固定用法,会按照参数逐个执行

 Ids: 不能单独使用,必须和param一起使用,作用是给参数起别名

name: 给fixture取别名

scope=”function”,autouse= False, params

实例:

 执行结果result

 

如果希望另外一个py文件中执行,则需要跟contest.py文件的使用,见下一章节

标签:Pytest,request,fixture,pytest,测试用例,参数,执行
From: https://www.cnblogs.com/woniuguoguo/p/17380782.html

相关文章

  • 工作提效___python实现测试用例统计
    一、工作中存在的问题:1、被测项目不断迭代增加新功能,功能模块越来越多,用例采用excel文档进行记录,每个sheet代表一级功能模块,每个sheet里面会有多个二级功能模块。由于功能模块较多,导致测试用例文档中存在几十个sheet页2、由于项目测试中,很多测试用例可以共用一条测试用例,为了减......
  • 入门7-pytest跳过测试用例
    1.无条件跳过用例@pytest.mark.skip(reason="无理由跳过")2.有条件跳过用例@pytest.mark.skipif(workage<5,reason="无理由跳过") ......
  • 入门2-pytest用例规则
    默认测试用例规则:模块名必须以test_开头或者_test结尾(.py文件)测试类必须以Test开头,并不能带有init方法(Classin.py一般是模块名首字母大写样式)测试用例必须以test_开头。(defunderClass) 执行:Alt+Enter自动导包。......
  • 入门5-Pytest执行参数详解
    执行的参数-vs -v输出详细信息-s输出调试信息(print(“xxx”)里的xxx)。-n多线程运行。(前提安装插件pytest-xdist),例如pytest-n=2--returnsnum失败重跑(安装插件pytest-returnfaires)例pytest-vs–returns2 //Web自动化里比较有意义             Rais......
  • 入门6-Pytest全局配置文件
    通过全局配置pytest.ini文件执行()//会自动加载此文件注意:一般放在项目根目录下,并且名字必须为pytest.ini编码格式为ANSI,有中文需要GBS1218pytest.ini可以改变默认测试用例规则不管main还是命令方式都会自动加载此配置文件内容举例:[pytest]//代表配置文件Addopts==“-......
  • pytest fixture:向fixture传递数据
    1利用request向fixture传递数据conftest.pytest_fixture.py执行request是pytest自带的一个fixture,利用它可以得到test函数的上下文文信息request.modulemodule是其属性,属性还有nodefunctionclsclasssession具体看官网https://docs.pytest.org/en/7.3.x/referen......
  • pytest 和 allure 踩的坑
    近期用Pytest+Appium搭建App自动化,报告用Allure生成,期间遇到一些问题,记录下pytest.main执行的时候,拉不到对应的case原因:测试class不是Test开头。要求文件名、类、测试方法,都以test开头附:pytest.main常用参数生成的allure报告,mac本地无法预览解决方案:在html目录起本地http服......
  • pytest中的fixture:利用yield实现测试结束后的清理工作
    1setup与teardownfixture总是在test函数之前执行,为test函数的运行提供必要的支持(包括数据、环境等),可以把这个过程视为用例执行前面的准备工作即setuptest函数执行完后也有一些收尾工作要做,即teardown,比如前面我们在fixture中实现了一个数据库连接给到test函数,那么,test函数......
  • pytest之 为什么要做接口自动化
    行情:会接口自动化15-25k工具类实现接口自动化:增加2-3kPostman+newman+git+jenkinsJmeter+Ant+jenkins 一,既然有这些接口测试工具,为什么要做接口自动化?1.敏捷开发,接口一般数量很大,团队需要实现接口测试,多人协作写用例还需要“版本控制”2.功能太死板,有些接口完全无法实现......
  • Pytest
    Pytest命名:文件:以text_开头或者_text结尾类:Text开头方法/函数(类内方法,类外函数):text_开头测试包无要求测试类不可以添加_init_构造函数 Pytest在pycharm设置后,会自动识别命名正确的函数和方法 用例结构:用例名称用例步骤用例断言......