2016-02-29 36 views
4

我是Robot FW的新手,我正处于学习阶段。为了尝试调用外部库,我做了一个非常简单的功能并保存在tryingLibrary.py文件中。内容:简单函数调用在Robot Framework中不起作用

def myAdding(x, y): 
    z = x + y 
    return z 

然后我又写道以下RF测试

*** Settings *** 
Documentation Suite description 
Library   tryingLibrary.py 

*** Variables *** 
${x} 

*** Test Cases *** 
TestTest 
    ${x}= myAdding  30  26 

然而,当我检查日志文件,我发现${x} = 3026。我的意思是,我当然期待56不是3026

那么可能是什么问题?

+0

的参数添加为字符串'“30”+“26”=“3026”' – Arman

+2

尝试'def myAdding(x,y)中的'z = int(x)+ int(y)': ' 默认情况下机器人f/w将Unicode字符串作为参数。您必须将其明确地转换为'int'或您可能想要使用的类型。 – malhar

回答

5

您可能希望看到这个documentation

doc文件明确指出,参数类型是Unicode字符串。有两种方法来实现你想要的行为

  1. 转换它在Python功能这样

    def myAdding(x, y): 
        z = int(x) + int(y) 
        return z 
    
  2. 使用它,如下所示,这里是doc

    *** Test Cases *** 
    TestTest 
         ${x}= myAdding  ${30}  ${26}