如何告诉Robot Framework规范路径中的转义空间?

时间:2018-05-08 16:57:50

标签: path escaping robotframework

我想使用类似~/Library/Application\ Support/的路径,并使用正确的文件夹和文件名加入它。根据Robot文档,Join Path关键字应该规范化结果。然而,联接的结果仍然是反斜杠转义空间,其他关键字File Should Exist无法正确解析。

那么谁做错了,Join PathFile Should Exist还是我?

def get_os_application_support_path():
    return '~/Library/Application\ Support/'

Database Path
    ${OS_PATH}=             Get Os Application Support Path
    Run Keyword And Return  Join Path    ${OS_PATH}    'Database.db'
即使我期待'~/Library/Application\ Support/Database.db'

也会返回'~/Library/Application Support/Database.db'

1 个答案:

答案 0 :(得分:2)

normalize使用os.path.normpath消除了双斜线,但没有使用转义的反斜杠。

在以下示例中,转义空间仅存在于机器人文件中。

# LaTeX tools like pdflatex
brew cask install basictex

# Install texlive packages needed to build R package vignettes
sudo tlmgr update --self
sudo tlmgr update --all
sudo tlmgr install titling framed inconsolata
sudo tlmgr install collection-fontsrecommended

请注意,*** Settings *** Library OperatingSystem *** Test Cases *** Handle Spaces ${path}= Join Path ~/Library/Application\ Support Foo.txt Log To Console ${path} File Should Exist ${path} 没有转义空格。

Log To Console

使用Python 2.7.14和robotframework 3.0.4进行测试