文件应该存在无法识别文件路径
File Should Exist is not recognizing filepath
我正在使用 File Should Exist 关键字来检查列表中的现有文件。
这是高级格式:
Variables:
@{Files} /Desktop/Other/scooby.txt
... /Desktop/DummyFiles/daffy.txt
... %{CURDIR}/mickey.txt
Test Case:
Given File Should Exist ${Files[0]}
[...]
Output:
Setup failed:
Path '/Desktop/Other/scooby.txt' does not exist.
我不确定为什么会这样。文件名和文件路径正确。我还尝试了多种不同的组合(我将文件复制到此脚本 运行 所在的子目录,但这也不起作用)。我尝试将文件路径设为标量变量而不是 List/array。在文件路径前加“..”也不行。我研究过“Glob 模式”,但我认为这也不是问题所在。
如有疑问,请始终使用绝对路径。例如 - /Desktop/Other/scooby.txt
即使在 windows 上也不指向任何“有意义的”路径,因为它缺少驱动器。在 windows 上,使用 C:/Users/$yourlocalusername/Desktop/Other/scooby.txt
可能有效(用正确的值替换 $yourlocalusername)
依赖于相对路径(就像在你的例子中,即使你从 /
开始,前 2 个也是相对的,因为在 windows 中你仍然有一个 drive 开头)- 在 运行 你的套件 之前,你需要确保将工作目录设置为特定目录 。现在,如果您通过 IDE 运行 您的套件,在您熟悉相对和绝对路径的工作方式之前,当前工作目录可能不是您期望的那样 - 更喜欢使用绝对路径。请参阅 https://www.computerhope.com/issues/ch001708.htm - 也许这会解决您的问题。
您可以使用 ${CURDIR} 或不以“/”开头的相对路径。
我想当以 '/' 开头时,RF 不会将其作为相对路径输入并尝试从根目录映射地址,即 C:
在下面的示例中,我已经演示了这两种方法,对我来说效果很好。
*** Settings ***
Library OperatingSystem
Documentation Demonstrating File Exist keywords
*** Variables ***
@{Files} Data/VariableData/ConditionalFlows.robot
... Data/VariableData/testdata.robot
@{Files2} ${CURDIR}/Data/VariableData/ConditionalFlows.robot
... ${CURDIR}/Data/VariableData/testdata.robot
*** Test Cases ***
TS002-Check For File Existence
[Documentation] File exists
${File} File Should Exist ${Files}[0]
${File} File Should Exist ${Files2}[0]
我正在使用 File Should Exist 关键字来检查列表中的现有文件。 这是高级格式:
Variables:
@{Files} /Desktop/Other/scooby.txt
... /Desktop/DummyFiles/daffy.txt
... %{CURDIR}/mickey.txt
Test Case:
Given File Should Exist ${Files[0]}
[...]
Output:
Setup failed:
Path '/Desktop/Other/scooby.txt' does not exist.
我不确定为什么会这样。文件名和文件路径正确。我还尝试了多种不同的组合(我将文件复制到此脚本 运行 所在的子目录,但这也不起作用)。我尝试将文件路径设为标量变量而不是 List/array。在文件路径前加“..”也不行。我研究过“Glob 模式”,但我认为这也不是问题所在。
如有疑问,请始终使用绝对路径。例如 - /Desktop/Other/scooby.txt
即使在 windows 上也不指向任何“有意义的”路径,因为它缺少驱动器。在 windows 上,使用 C:/Users/$yourlocalusername/Desktop/Other/scooby.txt
可能有效(用正确的值替换 $yourlocalusername)
依赖于相对路径(就像在你的例子中,即使你从 /
开始,前 2 个也是相对的,因为在 windows 中你仍然有一个 drive 开头)- 在 运行 你的套件 之前,你需要确保将工作目录设置为特定目录 。现在,如果您通过 IDE 运行 您的套件,在您熟悉相对和绝对路径的工作方式之前,当前工作目录可能不是您期望的那样 - 更喜欢使用绝对路径。请参阅 https://www.computerhope.com/issues/ch001708.htm - 也许这会解决您的问题。
您可以使用 ${CURDIR} 或不以“/”开头的相对路径。
我想当以 '/' 开头时,RF 不会将其作为相对路径输入并尝试从根目录映射地址,即 C:
在下面的示例中,我已经演示了这两种方法,对我来说效果很好。
*** Settings ***
Library OperatingSystem
Documentation Demonstrating File Exist keywords
*** Variables ***
@{Files} Data/VariableData/ConditionalFlows.robot
... Data/VariableData/testdata.robot
@{Files2} ${CURDIR}/Data/VariableData/ConditionalFlows.robot
... ${CURDIR}/Data/VariableData/testdata.robot
*** Test Cases ***
TS002-Check For File Existence
[Documentation] File exists
${File} File Should Exist ${Files}[0]
${File} File Should Exist ${Files2}[0]