注意:仅支持最新版本
这是一个间歇性问题,似乎没有规律。
该步骤应该执行。
抛出 StepNotFoundException
你能提供更多信息吗?
仍然基于异常有两种可能性:
1)在java中似乎有重复的方法名称并且具有不同的BDD描述。 确保java中的方法名称不同。
2) 从 BDD 调用的 Java 方法不存在/创建。
嗨拉维,
首先检查step.provider.pkg
属性,确保它指向正确的包。
如果这是正确的,那么尝试为您的步骤实现提供唯一的stepName
。
@QAFTestStep(description="user logins with {username} and {password}",stepName="user login with username and password")
public void login(String username,String password){
}
你能提供更多信息吗?
仍然基于异常有两种可能性:1. It seems duplicate method names in java and having different BDD description. Make sure method names are different in java. 2. Java method not exist/created which is being called from BDD.
@mishalhshah是的,正如你所指出的。 我对 2 个重载方法使用了不同的步骤描述。 感谢您告知 QAF 中的此限制。
嗨拉维,
首先检查
step.provider.pkg
属性,确保它指向正确的包。如果这是正确的,那么尝试为您的步骤实现提供唯一的
stepName
。@QAFTestStep(description="user logins with {username} and {password}",stepName="user login with username and password") public void login(String username,String password){ }
"description" 和 "stepName" 和有什么不一样? 在我们当前的项目中,我们使用“描述”并且它工作正常。
@mishalhshah不同类中的相同方法名称也会产生问题?
感谢您的快速回复@mishalhshah @amitbhoraniya和@naeem-github
@mishalhshah不同类中的相同方法名称也会产生问题?
@raviguptasmarsh是的,在 QAFTestStep 中没有唯一“StepName”的相同 java 方法名称会产生问题。
所以按照@amitbhoraniya 的建议,在 QAFTestStep 注释中添加唯一的 stepName 或给出不同的 java 方法名称。 在应用上述任何解决方案后让我知道是否适合您。
stepName
是 QAFTestStep 的唯一标识符。 如果未提供stepName
则 QAF 将方法名称视为stepName
。
description
用于从 bdd 文件调用 teststep。
最有用的评论
你能提供更多信息吗?
仍然基于异常有两种可能性:
1)在java中似乎有重复的方法名称并且具有不同的BDD描述。 确保java中的方法名称不同。
2) 从 BDD 调用的 Java 方法不存在/创建。