为什么我的 .feature 文件显示"Undefined step reference",尽管我的黄瓜测试运行良好并检测步骤?



Intellij说当我查看.feature文件时,我的步骤未定义。

Intellij undefined step

但是黄瓜 .feature 文件运行良好,并且在步骤上绝对匹配。

我的 TestNG 运行器代码:

package package1;
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
import org.testng.annotations.DataProvider;
@CucumberOptions(plugin = "pretty", features = "src/test/resources/package1", glue = "package1")
public class Runner extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}

功能文件中的步骤:

Feature: test feature
Scenario: test feature scenario
Given there has been a pebkac

我在步骤定义文件中的步骤:

Given("there has been a pebkac", () -> {
//driver.findElement(By.id("editTextFieldId")).sendKeys("test");
autoTools.getElement(new String[]{"editTextFieldId", "IOSIDHERE"}, AutomationTools.IdType.DEFAULT, 15).sendKeys("test");
System.out.format("test: %nn");
//throw new cucumber.api.PendingException();
});

为什么Intellij抱怨找不到这一步?我尝试使用带有注释的步骤定义文件,但遇到了同样的问题。

我注意到,如果我转到功能文件并右键单击 -> add 步骤,它将使用已弃用的 Give 方法添加一个步骤。这让我觉得我可能使用了错误的依赖项,尽管我是从他们网站上的黄瓜教程中获取的。

我的依赖项:

dependencies {
testImplementation 'io.cucumber:cucumber-java:4.7.4'
compile group: 'org.testng', name: 'testng', version: '6.14.3'
compile group: 'io.cucumber', name: 'cucumber-testng', version: '4.7.4'
compile group: 'io.appium', name: 'java-client', version: '7.1.0'
}

Intellij 已过时,更新它解决了这个问题。

参考: https://sqa.stackexchange.com/q/40044

相关内容

  • 没有找到相关文章

最新更新