【问题标题】:Getting Path is not canonical error while doing Functional Test Using Robot Framework使用机器人框架进行功能测试时获取路径不是规范错误
【发布时间】:2015-11-23 18:02:16
【问题描述】:

我正在尝试为文件上传编写机器人框架测试。我正在使用以下关键字来执行该功能。

Choose File    ${UPLOAD_FILE_HIDDEN_INPUT}    ${UPLOAD_FILE_NAME}

在哪里

${UPLOAD_FILE_HIDDEN_INPUT}    xpath=//input[@type="file"]

${UPLOAD_FILE_NAME} 是我试图放置需要上传的文件的路径位置。

我的测试用例在下面的目录中

C:\Dev\Application\tests\functional\Robot\TestSuite\TestCase

我正在将需要上传的文件放在下面的目录中

C:\Dev\Application\tests\functional\Robot\Images\File1.jpg

我在测试用例的变量部分声明变量${UPLOAD_FILE_NAME}。为了到达文件位置,我需要返回一个文件夹

C:\Dev\Application\tests\functional\Robot\ 

然后进入图像文件夹

C:\Dev\Application\tests\functional\Robot\Images

为了执行此操作,我对变量使用以下值

${UPLOAD_FILE_NAME}    ${CURDIR}\\..\\Images\\File1.jpg

但我收到以下错误

path is not canonical: C:\\Dev\\ClaimLogUI\\tests\\functional\\Robot\\TestSuite\\..\\Chrysanthemum.jpg\n  (Session info: chrome=46.0.2490.86)\n  (Driver info: chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 6.1 SP1 x86_64)' 

我在其他场景中使用了类似的文件夹表示法作为其他文件的值,它工作正常。为了找到 File1.jpg,我不确定我哪里出错了。我正在使用 Chrome 浏览器执行此测试。有人可以帮我吗?

【问题讨论】:

    标签: selenium functional-testing robotframework testcase


    【解决方案1】:

    您可以使用库 OperatingSystem 中的关键字 Normalize Path 将您的路径设为规范

    ${NORMAL_PATH_UPLOAD_FILE_NAME} Normalize Path ${UPLOAD_FILE_NAME}

    那么你就可以正常使用这段代码了

    Choose File ${UPLOAD_FILE_HIDDEN_INPUT} ${NORMAL_PATH_UPLOAD_FILE_NAME}

    (您可以阅读本文以获取更多信息http://robotframework.org/robotframework/latest/libraries/OperatingSystem.html

    【讨论】:

      【解决方案2】:

      ${CURDIR} 是测试数据文件所在目录的路径。

      您应该使用 ${EXECDIR} 这是开始执行测试的目录的绝对路径。

      【讨论】:

        猜你喜欢
        • 2016-05-03
        • 2021-06-28
        • 1970-01-01
        • 2016-04-16
        • 2017-07-14
        • 2014-09-30
        • 2017-11-19
        • 1970-01-01
        • 2023-02-09
        相关资源
        最近更新 更多