【问题标题】:Robot Framework what is wrong with my indentation?Robot Framework 我的缩进有什么问题?
【发布时间】:2014-08-01 19:21:21
【问题描述】:

我读到您可以使用pipe-separated 格式进行机器人框架测试,但在我的代码中:

*** Settings ***
| Documentation | A test suite with a single test for valid login.
| Library | Selenium2Library
| Resource | AdminResource.txt

*** Variables ***
| ${LOGIN URL} | http://local.econnect-admin.com/
| ${BROWSER} | ff

| ${Login button} | xpath=//body/div[2]/div/div[2]/div[2]/div/form/fieldset/div[3]/button

*** Test Cases ***
| Valid Login
|| Open Browser To Login Page
|| Input Text | a11y-username | username
|| Input Text | a11y-password | password
|| Click Log in
|| Welcome Page Should Be Open

*** Keywords ***
| Open Browser To Login Page
|| Open Browser | ${LOGIN URL} | ${BROWSER}
|| Maximize Browser Window
|| Wait Until Page Contains Element | ${Login button} | 5s

| Click Log in
|| Click Element | ${Login button}

| Welcome Page Should Be Open
|| Location Should Be | ${LOGIN URL}
|| Wait Until Page Contains | Accounts | 5s
|| Page Should Contain | Accounts

运行代码时会出现各种错误:

[ ERROR ] Error in file 'C:\Python\AdminTests\test.txt': Setting variable '|${LOGIN URL} | http://local.econnect-admin.com/' failed: Invalid variable name '|${LOGIN URL} | http://local.econnect-admin.com/'.
[ ERROR ] Error in file 'C:\Python\AdminTests\test.txt': Setting variable '|${BROWSER} | ff' failed: Invalid variable name '|${BROWSER} | ff'.
[ ERROR ] Error in file 'C:\Python\AdminTests\test.txt': Setting variable '|${Login button} | xpath=//body/div[2]/div/div[2]/div[2]/div/form/fieldset/div[3]/button' failed: Invalid variable name '|${Login button} | xpath=//body/div[2]/div/div[2]/div[2]/div/form/fieldset/div[3]/button'.

它还告诉我,我的测试用例的每一行(包括测试用例的名称)都包含 to 关键字。

我是否错误地格式化了我的测试脚本,或者我对管道分隔格式有误解?

编辑 - 在另一个 question 中,答案是使用这种格式给出的

提前致谢。

【问题讨论】:

    标签: formatting robotframework


    【解决方案1】:

    管道之间必须有空格。考虑这一行:

    || Open Browser | ${LOGIN URL} | ${BROWSER}
    

    你需要把它改成这样:

    | | Open Browser | ${LOGIN URL} | ${BROWSER}
    

    来自用户指南:

    管道和空格分隔的行由强制前导识别 管道,但行尾的管道是可选的。必有 总是在管道的两侧至少有一个空间(除了在 开始和结束),但不需要对齐管道,除了 如果它使数据更清晰。

    【讨论】:

    • 为什么需要在两个管道之间有一个空格?
    • @Stormie:为什么?你必须问机器人的设计师这个问题。也许是为了更容易解析。这也可能与这样一个事实有关,即如果您的代码中嵌入了管道,它们就不会被误认为是分隔符(例如:| | run keyword if | $foo||$bar | ...
    猜你喜欢
    • 2017-07-18
    • 2022-06-21
    • 2015-04-11
    • 2019-01-24
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    相关资源
    最近更新 更多