如何为相同的命名步骤创建多个实现(行为)

How to create several implementation for the same named steps (behave)

我有两个页面(主页和 属性 页面)的两种情况。在这些场景中,我有相同的步骤(我用 "text" 填写 "field")。 我需要为主页实现一个,为 属性 页面实现一个。但是 behave 只看到一种实现。我怎样才能对相同的命名步骤进行不同的实现? 我不想进行硬编码并以不同方式调用相同的操作。

我的堆栈:behave + python + selenium + pageObject

不知何故,在某个地方,你必须输入代码来说明事情是不同的。

  • 在语句中添加另一个变量(我在"page"上用"text"填写"field")
  • 使用两条语句(我在首页"field"填写"text" && 我在属性 "field"填写"text")
  • 向该方法添加逻辑以动态找出正在查看的页面以了解哪个字段是哪个

都有优点和缺点。您需要决定哪种方式最适合您的情况。具有通用语句的问题在于它可以应用于太多领域,最终必须给出一些东西。