5

在此处输入图像描述我有我的个人 python 模块,它有很多方法。

例如:

ReusableModule.py 有

    def play_button():
        print 'Does play Operation'

    def download_music():
        print 'Does Download Operation'

我想在 RobotFramework Ride 中使用这些方法作为关键字。如何使方法从 RIDE 中可见?

PS:编辑类名,以便 ROBOT 框架可以识别

当我执行时,Ride 出现以下错误:20130524 01:32:09.254: FAIL: No keyword with name 'play_button' found.

4

2 回答 2

5

关键在于你的命名约定——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"

从命令行 - 如果这有效,您应该能够运行您的测试

于 2013-05-23T07:10:52.403 回答
2

首先,要在机器人框架 PYTHONPATH 中使用您的模块/库,必须包含您的模块的路径。这与 Python 没有什么不同。要让robotframewotk知道您的模块,请确保您使用

Library  ReusableModule

在测试套件的设置部分。

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

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

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

于 2013-05-23T17:47:12.377 回答