如何修复“FOR 循环不包含关键字”。用于 OS 的 Robot IDE 中的错误

Posted

技术标签:

【中文标题】如何修复“FOR 循环不包含关键字”。用于 OS 的 Robot IDE 中的错误【英文标题】:How to fix "FOR loop contains no keywords." error in Robot IDE for OS 【发布时间】:2020-01-11 14:12:38 【问题描述】:

循环的测试结果状态不包含关键字

我尽量使语法尽可能符合用户指南。它不会让我在 FOR 之前添加一个 ':' 并且它说在新版本中不需要。

*** Settings ***
Test Teardown     Close Browser
Library           SeleniumLibrary
Library           Collections
Library           RequestsLibrary

*** Test Cases ***
links
    Open Browser    http://neuromorpho.org/neuron_info.jsp?neuron_name=DD13-10-c5-1    safari
    Maximize Browser Window
    $AllLinksCount=    Get Element Count    //a
    Log    $AllLinksCount
    @LinkItems    Create List
    FOR    $INDEX    IN RANGE    1    $AllLinksCount
    \ \    Log    $INDEX
    \ \    $lintext=    Get Text    xpath= (//a) [$INDEX]
    \ \    Log    $lintext
    \ \    $linklength    Get Length    $lintext
    \ \    Run Keyword If    $linklength >1    Append To List    $LinkItems    $lintext
    $LinkSize=    Get Length    $LinkItems
    Log    $LinkSize
    FOR    $ELEMENT    IN    @LinkItems
    \ \    Log    $ELEMENT
    Close Browser

我想要一个链接列表,然后我可以检查响应,但是错误消息指出“FOR 循环不包含关键字”。帮助:(

【问题讨论】:

你说的“它不会让我在FOR之前添加':'”是什么意思?是什么阻止你这样做? 看看这个链接 - github.com/robotframework/robotframework/blob/master/doc/… 【参考方案1】:

您必须使用END 命令终止FOR 块(如果您更改了文件)

以下是我们 Wiki 上 FAQ 的文字:

问:在最新版本的 RIDE (1.7.4) 和 Robot Framework 3.1.2 中,当我编辑具有 : FOR 的测试套件时,执行时会出现以下错误:FOR loop contains no keywords.。如何解决这个问题?

答:Robot Framework 可以容忍旧的: FOR 格式,并且可以正确执行测试套件。但是,在 RIDE 中编辑文件时,它会丢失旧样式格式,因此您必须添加终止 END

【讨论】:

【参考方案2】:

'\' 在机器人 3 中已折旧。*

您看到的错误是不言自明的您的 For 循环结构不正确 您缺少 END 原因

FOR    $INDEX    IN RANGE    1    $AllLinksCount
        Log    $INDEX
        $lintext=    Get Text    xpath= (//a) [$INDEX]
        Log    $lintext
        $linklength    Get Length    $lintext
        Run Keyword If    $linklength >1    Append To List    $LinkItems    $lintext
END
$LinkSize=    Get Length    $LinkItems
Log    $LinkSize
FOR    $ELEMENT    IN    @LinkItems
       Log    $ELEMENT
END

【讨论】:

【参考方案3】:

所以它应该可以工作。

:FOR                  $INDEX             IN RANGE           1         $value+1    
\    Wait Until Page Contains Element    $example    10
\    Wait Until Page Contains Element    $example    10

【讨论】:

在回答一个老问题时,如果您包含了一些上下文来解释您的答案如何提供帮助,那么您的答案对其他 *** 用户会更有用。请参阅:How do I write a good answer。

以上是关于如何修复“FOR 循环不包含关键字”。用于 OS 的 Robot IDE 中的错误的主要内容,如果未能解决你的问题,请参考以下文章

markdown 如何修复OS X El Capitan中的Homebrew权限问题?

苹果已发布OS X补丁 修复Bash安全漏洞

如何修复终端未在 OS X Lion 上加载 ~/.bashrc [关闭]

如何修复颤振中的“SocketException:os错误:连接超时错误号110,地址= 000.000.0.00,端口= 44935”

如何修复颤振中的“SocketException:OS错误:连接超时,errno = 110,地址= 192.168.5.10,端口= 49590”错误

如何修复来自 Appium 的错误“无法从 sw_vers 输出检测 Mac OS X 版本:'10.12'”