pytest03-fixture

 

 

什么是Fixture?

Fixture 其实就是自定义前面的前置和后置操作

 

 

一、Fixture 的优势?

  fixture相对于 setup 和 teardown 有以下优势:

    1、命名方式灵活,不局限于setup 和 teardown这几个命名

    2、conftest.py 配置文件里可以实现数据共享,不需要import便可找到

    3、scope = "module" 可以实现多个py跨文件共享前置,每一个py文件调用一次

    4、scope = "session" 可以实现多个py跨文件使用一个session来完成多个用例

 

  注释:

    1、可以使用此装饰器(带或不带参)来定义fixture功能,fixture功能的名称可以在以后使用 (不带参数默认使用scope='function')

    2、使用它会在运行测试之前调用它:test模块或类可以使用pytest.mark.usefixture (fixturename)来标记

    3、测试功能可以直接使用fixture名称作为输入参数,在这种情况下,实例从fixture返回功能将被注入  

    

 

 

 

 

二、Fixture 传入

  实现场景:用例1需要先登录,用例2不需要登录,用例3需要先登录

  如图,将fixture配置到conftest文件中,然后需要执行的用例去调用

  ps :

    #用例可以传多个 fixture (token,orderid等等)

    #实现方式:

      #预置条件:conftest文件中含有login_token,order_id的 fixture装饰器

      def xx(login_token,order_id):

        pass

 

 

      # config 配置文件:

           

 

 

      # 用例实现方式:

           

 

posted @ 2020-03-12 21:55  dearddu  阅读(154)  评论(0编辑  收藏  举报