个人做网站如何赚钱,建设学校网站的意义,做营销网站应该要注意些什么,h5游戏大厅背景
开始做新项目的UI自动化#xff0c;需要考虑用例的并发执行#xff0c;因为之前做的项目是通过插件pytest-parallel 0.1.1 pytest-multithreading-allure 1.0.8来实现的#xff0c;所以这次也打算用此方法#xff0c;然而在实际使用过程中发现一些问题。
问题一
通…背景
开始做新项目的UI自动化需要考虑用例的并发执行因为之前做的项目是通过插件pytest-parallel 0.1.1 pytest-multithreading-allure 1.0.8来实现的所以这次也打算用此方法然而在实际使用过程中发现一些问题。
问题一
通过 pytest --workers n 运行后出现报错,错误是AttributeError: Cant pickle local object pytest_addoption.locals.label_type.locals.a_label_type 解决方法由于运行环境是windows查资料windows上要安装0.0.10版本 之前都是在mac或者Linux环境上运行没有遇到此问题
问题二
pytest-parallel降级为版本0.0.10再次运行还是会报错但错误是
…………
AttributeError: _Environ object has no attribute putenv解决方法: 参考https://github.com/kevlened/pytest-parallel/issues/89#issuecomment-797698926进行修改修改后执行 pytest --tests-per-worker n 可以多线程运行 window上pytest --workers n 时n只能是1
总结
经过上面的折腾终于解决了windows上使用pytest-parallel的问题但是始终要去修改pytest-parallel中的内容决定改为使用pytest-xdist安装最新版本的pytest-xdist , 安装后执行 pytest -n n即可 , 发现pytest-xdist会导致scopesession的fixture设置失效即导致每个用例都会执行一次此fixture正常情况是只需要执行一次的详见session失效的解决办法如果运行环境是Linux或者mac应该还是会优先选择pytest-parallel