selenium - 单击重新计算步骤时黄瓜功能文件无法找到胶水代码并引发错误消息
问题描述
我目前正在使用 Cucumber 框架创建一个测试套件。我已经为我必须测试的每个功能创建了功能文件。功能文件从不显示通过胶水代码覆盖的条件。单击重新计算步骤时,它会引发错误:在“扫描步骤定义”期间发生内部错误。java.lang.NullPointerException
我试图更改 Test Runner 类中的胶水路径,但也没有解决问题。该功能可以毫无问题地执行并且代码运行良好,唯一的问题是功能文件不断声明没有匹配的胶水代码。
#OrderInteraction
@Orders
Feature: Validating Order functionality
Background: Pre-requisites of Order Functionality
Given WebDriver is initialized
And Website is up and running
When User Enter "Username" and "Password" as Credentials
Then Validate User Login
Test Runner :
package Cucumber;
import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
@RunWith(Cucumber.class)
@CucumberOptions(features = "Features", glue=
{"src/main/java/CucumberStepDefinitions"})
public class CucumberTestRunner {
}
我想找到一种 Cucumber 功能文件可以识别存在的胶水代码的方法。随时指导我回答这个问题的现有问题或有帮助的文档。
解决方案
我终于能够找到解决这个问题的方法。问题在于 cucumber 插件版本,我参考了Cucumber-Eclipse-Update-SiteSnapshot来解决。
步骤如下:
1.从 Eclipse 中,转到菜单帮助 > 安装新软件
2.使用: https ://cucumber.github.io/cucumber-eclipse-update-site-snapshot
3.选中Cucumber Eclipse Plugin的复选框
4.按照安装过程中显示的说明选择下一步。
5.指令完成后重启Eclipse。
插件更新后,功能文件会自动扫描步骤并找到匹配的胶水代码。
推荐阅读
- javascript - 使用 ssh2 时,Ajax 总是返回 Code 500
- android - 有没有办法从 Adobe Air (flash) android 应用程序更新到 Unity3d 应用程序并保留共享对象中的本地保存?
- python - 执行音频降噪时的ParameterError
- git - 将 GitBash 与 MacO 一起使用?
- google-apps-script - Google Scripts Editor - 覆盖备份文件
- python - Python - 正则表达式获取仅打印接口名称和状态
- android - ArrayAdapter 中的 NullPointerException
- javascript - 在nodejs中并行创建多个WebSocket连接
- mysql - 使用 order by 子句时,数据库视图需要很长时间才能获取数据
- sql-server - SQL Server BCP XML 导出