【发布时间】:2023-02-08 19:11:13
【问题描述】:
我已经“继承”了现有的 Java Selenium 和 Cucumber 框架,该框架主要是为操作系统使用而编写的。我正在使用 Windows,我正在尝试修复并在 Windows 上运行它。
我的第一个问题是指定当前文件路径,这是为操作系统编写的:
private String getProjectName(Scenario scenario) {
return Arrays.asList(scenario.getUri().getPath().replace(System.getProperty("user.dir"), "").split("/")).get(5);
}
我收到的错误是:java.lang.ArrayIndexOutOfBoundsException:索引 5 超出长度 1 的范围
至于 Windows,我们正在使用反斜杠 我尝试将“/”切换为“”但是出现错误(+ 在我调查之后)我尝试使用“\\\\”但实际上错误与上面相同。
我知道只提供我的部分代码,这可能很难,但乍一看你能告诉我:
- 该方法是否可以在 Windows 上运行,或者是否应该完全重构?
-
System.getProperty("user.dir")是正确的解决方案吗? - 如何正确传递反斜杠?
- 为什么他们要
.get(5)?
【问题讨论】:
-
“他们为什么要使用 get(5)” -> 你将不得不向原作者询问这个问题。他们可能假设场景存储在您系统上的特定目录中
标签: java windows selenium cucumber