您好我正在尝试创建自己的关键字并从机器人脚本调用它:
以下是我的示例代码:
util.py
from robot.api.deco import keyword
@keyword('Add Num')
def add(a,b):
print "Simple method"
return int(a)+int(b)
class Geo :
@keyword('Class Add Num')
def addd(self,a,b):
print "Inside class method "
return int(a)+int(b)
Sample.robot
*** Settings ***
Library util.py
*** Test Cases ***
TC_01
[Documentation] sample test
[Tags] Sample
Add Num 10 20
Class Add Num 10 2
我正在使用pybot命令运行 - pybot sample.robot
添加Num关键字工作正常,但Class Add Num会出错:
No keyword with name 'Class Add Num' found.
我已经尝试过查看stackoverflow和官方机器人框架文档,但可以找到任何相关的帮助。
如何解决此错误,或者我需要以不同的方式实现它?
答案 0 :(得分:2)
机器人不会在库中的类中自动实例化,除非在一个特殊情况下,即类名与文件名的基本部分相同。
编写库的正确方法是 使用与文件名相同的单个类,或函数,但不能同时使用两者。如果您想同时使用它们,则由您来创建类的实例并公开关键字。
第三种方法是使用创建特殊函数的dynamic library api来获取可用关键字列表(get_keyword_names
),并执行关键字(run_keyword
)。这些都记录在用户指南中。