我有各自的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'的关键字。
答案 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完成时显示您的关键字。