开发者社区 问答 正文

在Robot Framework中测试python函数

我是新用户,我没有找到解决方案来怀疑我在Robot Framework中用python编写的脚本的执行情况。

当我在python编译器上执行脚本时该脚本起作用,但是当我在Robot Framework上执行测试用例时,将显示此错误:

===========================================================================
TestProvaPower
===========================================================================
TestPowerAngelo                                                    | FAIL |
No keyword with name 'power' found.
---------------------------------------------------------------------------
TestProvaPower                                                     | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
===========================================================================
Output:  c:\users\user\appdata\local\temp\RIDEjtznzw.d\output.xml

我认为显示此错误是因为有必要传递参数和参数。

请如何在Robot Framework中传递这些值?

测试套件是:

** Settings **
Library           ../../../../../Users/User/workspace/TestAngelo18.09/TestProva22.py

** Test Cases **
TestPowerAngelo
    power    base    exponent
    push    ${base}    ${exponent}

虽然我的Python脚本是:

base = input("Insert base")
exponent =input("Insert exponent")

def power(base,exponent):
    result=base**exponent
    print "%d to the power of %d is %d" %(base,exponent,result)

power (base,exponent)

展开
收起
祖安文状元 2020-02-21 17:38:54 598 分享 版权
1 条回答
写回答
取消 提交回答
  • 作为模块定义的一部分,您正在从用户那里获得输入。导入模块时,无法使用标准输入流,因此会发生EOFError。以下是您库的修改后的版本,仍可以通过直接执行对其进行测试。

    def power(base, exponent):
        result = base**exponent
        return result
    
    if __name__ == '__main__':
        base = input("Insert base")
        exponent = input("Insert exponent")
        result = power(base,exponent)
        print "%d to the power of %d is %d" %(base, exponent, result)
    
    2020-02-21 17:39:03
    赞同 展开评论