我刚刚开始研究Robot框架(刚开始学习Python ......)。每当我尝试从谷歌文档运行一些代码示例时,它会抛出各种错误。现在,我为我的无知而道歉,我想知道我哪里出错了。 例如: 我从谷歌代码中复制此代码,但它不起作用。
:FOR ${var} IN @{VALUES}
Continue For Loop If '${var}' == 'CONTINUE'
我的值/ var变量应包含什么才能使其工作。它总是抛出“不是关键字异常”。我没有安装Jython BTW。我必须安装吗?
另外,我如何使用“CALL METHOD”关键字。
Call Method ${hashtable} isEmpty
不起作用。即使我将hashtable初始化为某个val或将其设置为none也是如此。
编辑:
TC 01
FOR ${item} IN @{list}
Log ${item}
我正在尝试运行上面的代码。我已经定义了列表和项目(我认为声明项目作为变量是不必要的,如果我错了,请纠正我)。现在当我尝试运行此代码时,我得到'For'是一个保留关键字错误。如果我尝试在LOG或FOR之前插入'\',它会说 - “没有KeyWord WITH name'\ FOR'FOUND。” 。我究竟做错了什么??
答案 0 :(得分: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.txt
并在同一目录中运行pybot 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
。