【发布时间】:2018-04-23 21:26:34
【问题描述】:
我正在使用 python + pytest + xdist + selenium 网格构建一个测试框架。该框架需要与预先存在的自定义日志系统对话。作为此日志记录过程的一部分,我需要提交 API 调用:设置每个新的测试运行,在这些测试运行中设置测试用例,并将字符串和屏幕截图记录到这些测试用例。
第一步是设置一个新的测试运行,其 API 调用会返回(除其他外)一个测试运行 ID。我需要保留此 ID 以供所有测试用例读取。我想把它放在某个全局变量中,但是用 xdist 运行我的测试会导致框架失去对值的跟踪。
我试过了:
- 使用“全局”类;使用 xdist 时忘记了值。
- 在我的 conftest.py 文件中保存一个全局变量;同样的问题,使用 xdist 时值会被丢弃。此外,到处导入我的 conftest 似乎是错误的。
- 在 conftest 中加入一个“全局”类;同样的事情。
此时,我正在考虑将其写入临时文件,但这似乎很原始,我认为我忽略了一个更好的解决方案。跨多个 xdist 线程存储和访问全局数据的最正确、pytest 风格的方法是什么?
【问题讨论】:
-
你可以使用外部数据库
标签: python pytest xdist pytest-xdist pytest-selenium