• pytest(四)firture自定义用例预置条件


    实现用例1需要先登录,用例2不要登录,用例3需要先登录,很显然不能用setup和teardown来实现了,自定义测试用例的预置条件

    fixture的优势

    • 命名方式灵活,不局限于setup和teardown这些命名
    • conftest.py配置里可以实现数据共享,不需要import就能自动找到一些配置
    • scope = "module"可以实现多个.py跨文集共享前置
    • scope ="session"以实现多个.py跨文集使用一个session来完成多个用例
    • 使用装饰器标记fixture的功能:fixture(scope=“function”,params=None,autouse =False,ids=NOne,name =None):

    Fixtures 可以选择使用yield语句为测试函数提供它们的值,而不是return。在这种情况下,yield语句之后的代码块作为拆卸代码执行,

    而不管测试结果如何。fixture功能必须只产生一次

    代码模板:(代码可能有空格问题,因为不是从pycharm里面复制过来的,需要注意)

    #新建一个文件test_开头 如test_fix.py
    import pytest
    
    @pytest.fixture()
    
    def login():
          print("输入帐号,密码 先登录")
    
    
    def test_s1(login):
           print("用例1:登录后,进入我的园子动作")
    
    
    def test_s2()#不传login
           print("用例2:不用登录,比如浏览博客")
    
    
    def test_s3(login):
           print("用例3:登录后,评论博客")
    
    
    if __name =="__main__":
           
        pytest.main(["-s", "test_fix.py"])
    

      

           

  • 相关阅读:
    ETL Pentaho Data Integration (Kettle) 插入/更新 问题 etl
    Value Investment
    sqlserver 2008r2 表分区拆分问题
    HTTP与HTTPS的区别与联系
    别人分享的面经
    饥人谷开放接口(教程)
    java内存泄漏
    单例模式
    Maven项目上有小红叉咋办
    Socket通信1.0
  • 原文地址:https://www.cnblogs.com/zhangying1/p/14273410.html
Copyright © 2020-2023  润新知