在机器人框架中使用python脚本

时间:2016-10-03 14:03:16

标签: python robotframework

请帮助理解。

我有脚本(SplitModule.py):

from robot.api.deco import keyword

@keyword('Split Function')
def splitfunction(string):
    print "atata"
    new_list = string.split(",")
    return new_list

和机器人框架脚本test.txt:

*** Settings ***
Library           DiffLibrary
Library           String
Library           OperatingSystem
Library           Collections
Library       SplitModule.py

*** Test Cases ***
Example of calling a python keyword that calls a robot keyword
    Split Function ${services}

但我的功能有问题,有:

  

=============================================== ===============================机器人   ================================================== ============================ Robot.Check服务   ================================================== ============================调用调用机器人关键字的python关键字的示例
  |失败|没有名称为'拆分功能的关键字$ {services}'找到。   -------------------------------------------------- ---------------------------- Robot.Check服务
  |失败| 1次临界测试,0次通过,1次测试失败1次,0次测试失败,1次   失败   ================================================== ============================机器人
  |失败| 1次临界测试,0次通过,1次测试失败1次,0次测试失败,1次   失败   ================================================== ============================输出:/opt/robot/logs/output.xml日志:/ opt / robot / logs / log html的   报告:/opt/robot/logs/report.html

问题是什么?感谢

1 个答案:

答案 0 :(得分:0)

阅读错误消息告诉您的内容:

  

找不到名称为“拆分函数$ {services}”的关键字。

它认为测试试图调用关键字Split Function ${services}。您没有具有该名称的关键字。你做的所拥有的是一个名为Split Function的关键字,它带有一个参数。因此,您需要使用正确的语法将参数传递给关键字。

换句话说,在关键字和参数之间需要两个或多个空格:

Split Function  ${services}  # need at least two spaces before $