pytest 中,进行多进程跑时,我想定义在 conftest 文件中的 fixture 夹具只在一个线程中跑一次即可,而不想多次进行跑,如图,具体怎么实现2022-08-27 15:52:10€¶婷姐儿♛ €¶婷姐儿♛订阅者关注私信251文章0粉丝 测试交流1 226字数 10阅读0分2秒阅读模式软件测试功能测试报告相关阅读AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断从零搭建AI测试用例工作流:需求文档自动转思维导图AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误测试反模式的思考 回复 1 赵晨成 9 2022-08-27 15:12:32 1F 回复 写个单例你的线程是怎么设计的? pytest 中,进行多进程跑时,我想定义在 conftest 文件中的 fixture 夹具只在一个线程中跑一次即可,而不想多次进行跑具体确定想怎样呢?正好前段时间用 pickle 和 FileLock 做了这个改造,步骤大概如下(代码暂时没办法贴上来):封装一个登录方法,并把登录结果保存到 pickle 文件中,同时通过 filelock 来做锁定保护。 在登录的 fixture 中,先尝试去读取 pickle 中的登录结果。 如果文件已锁定且读取成功,就返回登录结果。这时候说明其他 session 已经登录成功; 如果文件已锁定但登录结果为空,则说明其他 session 正在登录但是还没完成。这时候会返回 none,并在上层做一个 30 秒的 for 循环进行轮询等待。 如果文件不存在,则说明还没有 session 尝试登录。这时候就调用步骤 1 的封装方法进行登录并写入登录结果。 官方是有例程的,根据业务改造一下就可以用了我也是基于这个官方教程去改造的,把保存的文件从 JSON 改成 pickle 就可以了 回复问题 匿名网友 确定 昵称 邮箱 网址 Address 提交 取消 拖动滑块以完成验证 您可能喜欢 AI时代测试工程师的核心竞争力:从执行用例到可解释的质量判断 从零搭建AI测试用例工作流:需求文档自动转思维导图 AI+Skills如何让测试工程师效率提升10倍?三步实现智能生成测试用例 宝塔面板的BUG新建网站时新建了文件再建文件夹时提示错误 宝塔面板无法安装扩展的BUG解决方案PHP安装扩展下载链接错误 测试反模式的思考 使用 cookie 绕过验证码,换一个系统就无法通过验证 MeterSphere测试平台UI 自动化窗口切换方法 5000 块买的 python 自动化课程难道就这? 在 Linux 上搭建 Jenkins,自动构建接口测试
1F
写个单例你的线程是怎么设计的?
pytest 中,进行多进程跑时,我想定义在 conftest 文件中的 fixture 夹具只在一个线程中跑一次即可,而不想多次进行跑
具体确定想怎样呢?正好前段时间用 pickle 和 FileLock 做了这个改造,步骤大概如下(代码暂时没办法贴上来):
封装一个登录方法,并把登录结果保存到 pickle 文件中,同时通过 filelock 来做锁定保护。
在登录的 fixture 中,先尝试去读取 pickle 中的登录结果。
如果文件已锁定且读取成功,就返回登录结果。这时候说明其他 session 已经登录成功;
如果文件已锁定但登录结果为空,则说明其他 session 正在登录但是还没完成。这时候会返回 none,并在上层做一个 30 秒的 for 循环进行轮询等待。
如果文件不存在,则说明还没有 session 尝试登录。这时候就调用步骤 1 的封装方法进行登录并写入登录结果。
官方是有例程的,根据业务改造一下就可以用了我也是基于这个官方教程去改造的,把保存的文件从 JSON 改成 pickle 就可以了