如何导入python模块并在Robot Ride中公开方法

时间:2013-05-22 13:06:16

标签: python robotframework

enter image description here我有各自的python模块,它有很多方法。

例如:

ReusableModule.py有

    def play_button():
        print 'Does play Operation'

    def download_music():
        print 'Does Download Operation'

我想在RobotFramework Ride中将这些方法用作关键字。如何从RIDE中看到方法?

PS:编辑了类名,因此ROBOT Framework可以识别

执行时从Ride获取以下错误:   20130524 01:32:09.254:FAIL:找不到名为'play_button'的关键字。

2 个答案:

答案 0 :(得分:3)

关键在于你的命名约定 - python中的函数和方法应该是小写的,并且单词应该用下划线分隔。如果遵循该约定,机器人框架将获取这些关键字并允许您在测试中使用它们,但是在测试中,单词应该用空格分隔,并且不区分大小写。我相信您在阅读文档时有一些方法可以在不遵循标准命名约定的情况下公开关键字,但我建议您遵循惯例,特别是其他任何人可能必须阅读您的代码。我建议阅读PEP-8,因为它给出了主要的风格指导。


进一步说明

假设您有以下ReusableModule.py

class ReusableModule(object):
    def play_button(self, args):
        print "Pressed Play"

你会这样导入:

Library  ReusableModule

然后在您的测试用例中以Play Button

运行关键字

只要运行测试时你的路径中有ReusableModule.py就可以了 - 这意味着它可以在你当前的目录中,或者$ PYTHONPATH - 你可以通过运行来检查:

python -c "from ReusableModule import ReusableModule"

从命令行 - 如果这样可行,您应该能够运行测试

答案 1 :(得分:1)

首先,要在robotframework中使用模块/库,PYTHONPATH必须包含模块的路径。这与Python没有什么不同。要使您的模块为robotframewotk所知,请确保使用

Library  ReusableModule

在“测试套件”的“设置”部分中。

接下来,在Linux上使用pybot运行测试时,您可以执行类似这样的操作

$ export PYTHONPATH=/directory/contsaining/your/module
$ pybot <options>

使用RIDE,您必须修改RIDE设置并添加模块的路径。如果操作正确,您应该能够使用RIDE运行测试,并且还会在RIDE完成时显示您的关键字。