将全局配置数据存储在pytest/XDIST框架中



我正在使用python pytest xdist selenium网格构建一个测试框架。该框架需要与已有的自定义记录系统进行交谈。作为此记录过程的一部分,我需要将API调用提交:设置每个新的测试运行,在这些测试运行中设置测试用例,并对这些测试用例进行记录字符串和屏幕截图。

第一步是设置新的测试运行,而API呼吁(除其他事项(返回测试运行ID。我需要保留此ID,以供所有测试用例阅读。我想将其粘贴在某个地方的全局变量中,但是使用XDIST进行测试会导致该框架失去了该值的跟踪。

我尝试过:

  • 使用"全球"类;使用xdist时,它忘记了值。
  • 在我的conftest.py文件中保留一个全局变量;同样的问题,使用XDIST时值下降。同样,到处导入我的conftest似乎是错误的。
  • 将" Globals"类放入conftest;同样的事情。

在这一点上,我正在考虑将其写入临时文件,但这似乎是原始的,我认为我正在忽略一个更好的解决方案。跨多个XDIST线程存储和访问全局数据的最正确,pytest风格的方法是什么?

您可以尝试config.cache,例如 -

request.config.cache.set('run_id', run_id)

参考文档

可能值得研究长鼻,因为它允许特定的测试依赖项,并且可能是一个可能的解决方案。

最新更新