我试图弄清楚我做错了什么, 我想获得特定python函数的结果。
这是我的Resources.robot文件:
*** Settings ***
Library resources_func.py
*** Keywords ***
Test Time
${time_delta}= get time period ${Time}
这是我的python脚本:
import re
from dateutil.parser import parse
class TimeTests(object):
def get_time_period(timestamp):
timestamps = re.findall(r'[0-9][0-9]:[0-9][0-9]', timestamp)
a = parse(timestamp[0])
b = parse(timestamp[1])
res = (b - a)
res = res.seconds / 60
return res
这是我得到的错误:
No keyword with name 'get time period' found.
有什么想法吗?
答案 0 :(得分:3)
对于将来的其他人,请查看有关创建用户库的RF文档 http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id216
导入库时使用的测试库的名称是 与实现它的模块或类的名称相同。对于 例如,如果你有一个Python模块MyLibrary(即文件 MyLibrary.py),它将创建一个名为MyLibrary的库。 类似地,Java类YourLibrary,当它不在任何包中时, 创建一个具有该名称的库。
Python类总是在模块中。如果是一个类的名称 实现库与模块名称Robot相同 Framework允许在导入库时删除类名。 例如,MyLib.py文件中的MyLib类可以用作库 只是名字MyLib。这也适用于子模块,以便if,for 例如,parent.MyLib模块具有类MyLib,使用just导入它 parent.MyLib有效。如果模块名称和类名不同, 必须使用模块和类名来使用库, 例如mymodule.MyLibrary或parent.submodule.MyLib。