如何处理 Cucumber AmbiguousStepDefinitions 异常?

How to handle Cucumber AmbiguousStepDefinitions Exception?

目前我正在运行一系列测试,使用以下步骤:

 @And("^I select (.*) as a subject type$")
    public void click_on_subject_type(String subject) {
        String subjectType = String.format("//*[text()='%s']", subject);
        waitAndClickUsingByLocator(By.xpath(subjectType), Global_Vars.DEFAULT_TIMEOUT);
    }

    @And("^I select (.*)$")
    public void click_on_level(String level) {
        String subjectType = String.format("//*[text()='%s']", level);
        waitAndClickUsingByLocator(By.xpath(subjectType), Global_Vars.DEFAULT_TIMEOUT);
    }

执行我的代码时,它似乎抛出异常:cucumber.runtime.AmbiguousStepDefinitionsException:标记上面列出的两个步骤。

我还在步骤定义中添加了 ^ $ 但是问题仍然存在,有什么解决这个问题的想法吗?

为了快速简便地解决问题,您只需将第二步重命名为: @And("^I select (.*) 作为一个级别$")

这样也更容易理解场景。