• pytest-fixture之conftest.py


    conftest.py 配置可以实现数据共享,不需要import就可以自动找到一些配置.

    conftest.py需要与运行的用例在同一个包下面,并且要有init.py文件

    1.fixture(scope="funtion",params=None,autouse=False,ids=None,name=None)详解

    1.1.scope

      使用范围: session>module>class>function

      相当于为用例设置前置条件,分为全局,模块级,类级,函数级.

        ="module"  实现多个.py跨文件共享前置

          如果一个.py里面有多个用例,都调用了此fixture,那么该fixture只在该.py里所有用例开始前执行一次.

        ="session"  以实现多个.py文件跨文件使用一个session完成多个用例

        ="function"  针对函数有效

          使用场景:用例1需要登陆,用例2不需要登陆

          # 不带参数,默认为function

          @pytest.fixture()

          def login():

            print("输入账号密码登陆")

            login_role()  #登陆

          在测试用例中使用:

            def test_case1(login):

              print("需要登陆的用例")

            def test_case2():

              print("不需要登陆的用例")

        ="class"

          如果一个class里面有多个用例,都调用了此fixture,那么该fixture只在该class里所有用例开始前执行一次.

    1.2 autouse

      默认为False,当为True时,不需要每个用例都去传参!

    2.yield

      相当于teardown操作

            使用方式一:

        # 关闭浏览器
        @pytest.fixture(scope="session", autouse=True)
        def browser_close():
         yield driver
         driver.quit()
         print("test end!")

       使用方式二:

    1 @pytest.fixture(scope="function")
    2 def set_business_domain_url(req):
    3     print('在调用此函数的测试用例执行前 do something,相当于setup fuction')
    4 yield 5 print('在调用此函数的测试用例执行完后 so something,相当于teardown function')

    3.html测试报告详解

    3.1 钩子函数

      定义: 就是把我们实现的hook函数在某一时刻挂接到目标挂载点上.相当于 监听.可以这么理解.

      钩子函数 不允许 抛出异常!

    3.2 填写测试环境

    def pytest_configure(config):
    config._metadata["项目名称"] = '111'
    config._metadata['接口地址'] = api['api_url']
    config._metadata['测试账号'] = testdata['user']
  • 相关阅读:
    mysql常用函数
    mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
    JS 中的return false的作用
    css3 animation动画执行结束,停顿几秒后重新开始执行
    (原)人月神话-阅读笔记
    (原创)cocosStudio: text设置颜色问题
    (原创)cocos-js js调用android
    (原创)cocos-js 实现震屏效果
    (转)Cocos2d-js中使用Shader方法--以一个简单的波纹效果为例:
    (转)Cocos2dx-JS 在 Sprite 上使用 Shader
  • 原文地址:https://www.cnblogs.com/Tester_Dolores/p/11955416.html
Copyright © 2020-2023  润新知