gpt4 book ai didi

python - Django + bdd + Selenium

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:53 28 4
gpt4 key购买 nike

我正在使用 BDD 功能来描述我们的一些项目。然后使用 django 测试客户端 https://docs.djangoproject.com/en/1.10/topics/testing/tools/ 实现大部分场景,但有些正在通过 Selenium 进行测试。理论上,其中一些功能可以通过两种方法(通过 Selenium 和测试客户端)进行测试,但我不知道如何从编码的角度来处理这个问题。我想让我的 bdd 场景实现保持免费(不像“假设我使用 selenium 作为测试工具”)。

我正在考虑在可行的情况下对每个步骤进行多个定义,然后使用针对给定场景实现所有步骤的实现(甚至更多)。我猜这需要改变 python-behave 实现。有人遇到类似问题吗?

编辑:

我发现的第一件事是使用阶段并为“阶段”提供每个实现: https://pythonhosted.org/behave/new_and_noteworthy_v1.2.5.html#test-stages这可以解决我的问题,我可以为每个阶段运行测试。唯一需要解决的是特定于实现(阶段)的功能。最坏的情况我可以做虚拟的传递步骤。

最佳答案

所以我使用每个实现(django、selenium)的阶段+标记每个功能来解决这个问题,然后使用相应的阶段+标签对运行。例如:

python mnage.py behave --tags=selenium --stage=selenium

https://pythonhosted.org/behave/new_and_noteworthy_v1.2.5.html#test-stages https://pythonhosted.org/behave/gherkin.html#tags

编辑:这个解决方案有一个更大的缺点 - 报告仅包含上次运行的结果,因此如果您将它与 jenkins 一起使用(就像我一样),您将看不到正确的所有结果(有些结果在事实上他们更早通过了)。但总的来说,当出现测试错误时,至少构建会失败,这对我来说是最重要的。

关于python - Django + bdd + Selenium ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40261444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com