我正在使用BDD特性来描述我们的一些项目。大多数场景都是使用django测试客户端https://docs.djangoproject.com/en/1.10/topics/testing/tools/实现的,但有些场景是由selenium进行测试的。理论上,这两种方法(包括selenium和测试客户端)都可以测试这些特性,但我不知道如何从编码的角度来处理这些特性。我希望我的bdd场景实现是免费的(不像“假设我使用selenium作为测试工具”那样)。
当每个步骤可行时,我想要有多个定义,然后使用实现(甚至更多)来实现为给定场景实现的所有步骤。这将需要更改python--我猜是行为实现。有谁面临类似的问题吗?
编辑:
我发现的第一件事是使用阶段,并为“stage”设置每个实现:可以解决我的问题的v1.2.5.html#test-stages,我可以为每个阶段运行测试。唯一要解决的是实现(阶段)-specific的特性。最坏的情况下,我可以做虚拟的通过步骤。
发布于 2016-10-26 16:03:15
因此,我为每个实现(django、selenium) +标记每个特性解决了这个使用阶段,然后使用相应的stage + tag对运行。例如:
python mnage.py behave --tags=selenium --stage=seleniumv1.2.5.html#test-stages https://pythonhosted.org/behave/gherkin.html#tags
编辑:这个解决方案有一个更大的缺点-- report只包含上次运行的结果,因此如果您将其与jenkins一起使用(如我所做的那样),您不会正确地看到所有的结果(有些结果被设置为跳过,实际上它们是在前面传递的)。但是总的来说,当有测试错误时,至少构建失败,这是我的主要事情。
https://stackoverflow.com/questions/40261444
复制相似问题