QA|conftest使用了fixture但是没生效的原因|Pytest
conftest.py中使用了fixture但是没生效,后面发现是因为autouse默认False导致,修改后代码如下
# conftest.py @pytest.fixture(scope='session', autouse=True) def cal_fixture(): """ 开始测试前的准备:打开浏览器 结束测试后的收尾:关闭浏览器 """ print('----------------------开始测试----------------------') calpage_obj = CalElement() yield print('----------------------结束测试----------------------') calpage_obj.driver.close()
-
参数列表
- scope:可以理解成fixture的作用域,默认:function,还有class、module、package、session四个【常用】
- name:默认:装饰器的名称,同一模块的fixture相互调用建议写个不同的name。
- autouse 默认:False,需要用例手动调用该fixture;手动调用方式为:用例调用时,参数写上函数名称就行;如果是True,所有作用域内的测试用例都会自动调用
感谢查阅,点个赞再走呗,完整源码见:https://github.com/T-Better/SoftTest