0

我刚刚开始研究 Robot 框架(也刚开始学习 Python ......)。每当我尝试从 google docs 运行一些代码示例时,都会引发各种错误。现在,我为我的无知道歉,我想知道我哪里出错了。例如:我从谷歌代码中复制了这段代码,但它不起作用。

:FOR    ${var}  IN  @{VALUES}
Continue For Loop If    '${var}' == 'CONTINUE'  

我的 values/var 变量应该包含什么才能使其工作。它总是抛出一个“不是关键字异常”。我还没有安装 Jython BTW。我必须安装它吗?

另外,如何使用“CALL METHOD”关键字。

Call Method ${hashtable} isEmpty

不工作。即使我将哈希表初始化为某个 val 或将其设置为 none。

编辑 :

TC 01
     FOR    ${item} IN  @{list}
       Log  ${item}

我正在尝试运行上面的代码。我已经定义了列表和项目(我认为将项目声明为变量是不必要的,如果我错了,请纠正我)。现在,当我尝试运行此代码时,我得到 'For' is a reserved keyword 错误。如果我尝试在 LOG 或 FOR 之前插入一个 '\',它会显示 - “没有找到名称为 '\FOR' 的关键字”。. 我究竟做错了什么??

4

1 回答 1

2

使用 Robot Framework,您不需要 Jython,它只是一种选择。Python 就是你所需要的。

您的 for 循环无效,应该是这样的:

*** Variables ***
@{list}           foo    bar    lorem    ipsum    dolor    sit    amet

*** Test Cases ***
Example
    : FOR    ${item}    IN    @{list}
    \    Log    ${item}

如果您将其另存为example.txtpybot example.txt在同一目录中运行,它将list单独传递并记录所有项目。

为了使用Call Method,您需要有一些带有调用方法的对象。所以你必须有一个 python 文件,它有一个类、函数,并且将该类实例化并分配给一个变量。像这样:

class MyObject:
    def __init__(self):
        self.args = None
    def my_method(self, *args):
        self.args = args

obj = MyObject()

并将其保存到vars.py(与 相同的目录example.txt),然后将其放入您的example.txt

*** Settings ***
Variables         vars.py

*** Variables ***
@{list}           foo    bar    lorem    ipsum    dolor    sit    amet

*** Test Cases ***
Example
    : FOR    ${item}    IN    @{list}
    \    Log    ${item}

Example2
    Call Method    ${obj}    my_method
    Should Be True    ${obj.args} == ()
    Call Method    ${obj}    my_method    arg
    Should Be True    ${obj.args} == ('arg',)
    Call Method    ${obj}    my_method     a1     a2
    Should Be True    ${obj.args} == ('a1','a2')

但我的猜测是,您此时并不想使用Call Method

于 2013-10-31T07:20:04.760 回答