无法使用Selenium创建本地Windows目录结构

时间:2016-05-11 14:43:06

标签: javascript eclipse windows selenium

尝试按照herehere概述的示例来确保我将结果报告的目录始终存在于给定用户。

import urllib2

def main():
    # omitted all the connection stuff...
    query = "INSERT INTO metadb (name, type , year ) values ( %s, %s, %d)"
    params = (escape_string("Valentine's day"), "movie", 2010)
    cursor.execute(query, params)

def escape_string(str):
    return urllib2.quote(str).replace("%","%%")

if __name__ == "__main__":
    main()

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

并从变量定义中填充

new File(sampleFolder).mkdir();

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

1 个答案:

答案 0 :(得分:0)

您需要进行两项更改:

  

改变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.mkdir Javadoc读取

  

public boolean mkdir()

     

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

     

返回:

     

当且仅当目录已创建时才为true;否则是假的

File.mkdirs Javadoc读取

  

public boolean mkdirs()

     

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

     

返回:

     

当且仅当创建目录时才显示true,以及所有必需的父目录;否则是假的