首页 > 技术文章 > pytest02-setup和teardown

dearddu 2020-03-12 17:43 原文

 

是什么?

setup:前置步骤,用于一些数据准备等等

tesrdown:后续操作,清理数据,关闭文件等等

 

 

用例运行级别:

 

 

 

   模块级   (setup_module / teardown_module) 开始于模块始末,全局(整个文件中所有用例只调用一次

         

 

 

 

  

 

   函数级   (setup_function / teardown_function) 只对函数用例生效(每个用例执行前都会调用一次

                 

 

 

 

  

   类级      (setup_class / teardown_class)只在类中前后运行一次(在类中)

   方法级   (setup_method / teardown_method)开始于方法始末(在类中)

   类里面的(setup / teardown)运行在调用方法的前后

 

 

 

 

PS:

  有个场景case 

   前置条件:登录接口生成token

        后续查询接口需要此token

  步骤:用例1 - 查询接口 - 查询成功 (需要用到token)

     用例2 - 查询接口 - 无权限 (token错误)

  分析:a> 这样的场景case需要先写一个登录接口的方法,return出token,传到用例1中,

            之后再写个获取错误token的登录接口,传到用例2中

       b> 并且需要自定义一个@pytest.fixture,拿到已经加到header里的session,再在查询接口中传入fixture即可

        (先定义session机制,登录接口请求成功后,通过字典取值拿出token,然后加到请求头 - s.header.updata(token))

     c> 用例2 既然是要传错误token,那就不需要fixture,在用例内部加入错误的header即可。

      

                

 

         

 

 

 

 

        

 

 

 

 

 

 

 

推荐阅读