【问题标题】:Unable to create local windows directory structure using Selenium无法使用 Selenium 创建本地 Windows 目录结构
【发布时间】:2016-05-11 23:41:48
【问题描述】:

尝试遵循herehere 列出的示例,以确保我将结果报告放入的目录始终存在于给定用户中。

new File(sampleFolder).mkdir();

sampleFolder 在 Eclipse 调试器中显示为 "C:\Users\CurrentUser\workspace\Automation_Framework//Reports//output//TestCasesHtmlReports//"

并且由变量定义填充

public static String sampleFolder = System.getProperty("user.dir") + "//Reports//output//TestCasesHtmlReports//";

但是,当我运行脚本时,没有创建文件夹结构,有什么想法我做错了吗?我需要以管理员身份运行 Eclipse 吗?

【问题讨论】:

  • 您应该在 windows 中将 '//' 更改为 '\\'。
  • @SureshKoya 不是'\'吗?也可以使用绝对路径创建C:/Users/CurrentUser/workspace/Automation_Framework/Reports/output/TestCasesHtmlReports/
  • 您不能只输入一个反斜杠。要在路径中输入反斜杠,您需要使用另一个反斜杠对其进行转义。

标签: javascript eclipse windows selenium


【解决方案1】:

您需要进行两项更改:

变化一:

您输入的斜线不正确。我不确定“//”是如何被解析的。在 Windows 上,“\”被解析为“\”,因为第一个反斜杠用作转义字符。

您可以按如下标准方式组成文件路径。 File.separator 是依赖于平台的默认名称分隔符作为字符串。对于 windows,它是'\',对于 unix,它是'/'

 public static String sampleFolder = System.getProperty("user.dir") + File.separator + "Reports" + File.separator + "output" + File.separator+ "TestCasesHtmlReports";

thread 中有关 Java 分隔符的信息。

变化2:

您需要使用File.mkdirs 而不是File.mkdir

问题在于您使用的 API。 File.mkdirJavadoc 读取

公共布尔 mkdir()

创建以此抽象路径名命名的目录。

返回:

当且仅当目录已创建时为真;否则为假

File.mkdirsJavadoc 读取

公共布尔 mkdirs()

创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建了一些必要的父目录。

返回:

当且仅当创建了目录以及所有必要的父目录时才为真;否则为假

【讨论】:

  • 刚刚回到这个问题,我重组了变量启动器以反映您上面的示例,仍然没有创建路径,有什么想法吗?路径现在正确显示在 Eclipse 输出中:C:\Users\CurrentUser\workspace\Automation_Framework\XSLT_Reports\output\TestCasesHtmlReports
  • 哦,天哪.... 使用 mkdir() 而不是 mkdirs()。现在工作,今天学到了一些东西(File.Separator),谢谢!
猜你喜欢
  • 2012-09-13
  • 2020-12-22
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 2017-12-14
  • 1970-01-01
相关资源
最近更新 更多