无法在 Pytest-bdd 中利用特征文件 1 的步骤到另一个特征文件 2

问题描述

我在 features 文件夹中有两个功能文件

特点
登录.功能
仪表板功能

#feature1

功能:测试新页面

场景:我想测试登录屏幕
给定用户在主页
然后点击登录按钮

#feature2
@登录
场景:我想测试仪表板屏幕
仪表板页面中的给定用户
然后点击登录按钮

我在 2 个单独的 step_defs 中维护代码

stepdefs
test_homepage.py
test_loginpage.py

我可以在功能 #2 中重复使用功能 #1 的步骤吗

解决方法

你可以在这里做两件事之一

  1. 使用 conftest 文件来保存您想要在步骤定义中重复使用的所有常用函数。

2.通过导入类/方法将方法调用到其他步骤定义中。

,

对您的问题的直接回答是否定的,如果步骤在不同的文件夹中实现,则不可能在不同的功能中使用来自一个功能的步骤。

然而,正如 Rahul 提到的,有不同的解决方法。除此之外,您还可以像在任何其他框架中一样创建一个 utils 文件夹,您可以添加将在 util 文件夹中执行所有操作的方法,然后在两个步骤中调用该方法。这将有助于减少代码重复。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...