zoukankan      html  css  js  c++  java
  • 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"])
    

      

           

  • 相关阅读:
    在客户端判断上传文件大小(不支持opera)
    javascript冒泡排序(javascript算法学习)
    提高js性能方法(让js只判断一次)
    ie8本地预览报错的解决
    负载均衡获取客户端IP
    遍历变量里面所有的属性
    HttpWebrequest的使用
    C#调用EnyimMemcached
    MySQL国内省市直辖区
    Log4Net使用
  • 原文地址:https://www.cnblogs.com/zhangying1/p/14273410.html
Copyright © 2011-2022 走看看