跳转到主要内容

Pyramid下启用RobotFramework测试的便利包。

项目描述

使用RobotFramework进行Pyramid测试

最终,Pyramid得到了它的Robot。

这是一个便利包,用于在Pyramid中启用Robot Framework测试。Robot Framework是一个通用的测试自动化框架,用于验收测试和验收测试驱动开发(ATDD),围绕Selenium2。它集成了Asko Soukka的robotsuite,该套件允许Robotframework无缝集成unittest和WebTest HTTP客户端/服务器实用程序。

由于robotsuite与plone.testing层一起工作,我们需要在测试模板中设置一个。这是因为robotsuite最初是为与Plone测试框架一起工作而设计的,但我们通过包含robotsuite期望创建测试层的方式完全脱离了它。

只需像以下这样设置您的测试模板

import os
import robotsuite
import unittest
from webtest import http
from paste.deploy import loadapp

from pyramid_robot.layer import Layer, layered


class myPyramidLayer(Layer):

    defaultBases = ()

    def setUp(self):
        conf_dir = os.path.dirname(__file__)
        app = loadapp('config:test.ini', relative_to=conf_dir)
        self.server = http.StopableWSGIServer.create(app, port=8080)

    def tearDown(self):
        self.server.shutdown()

PYRAMIDROBOTLAYER = myPyramidLayer()

您应该提供一个有效的paste deploy .ini 文件来初始化您的测试应用程序。这可以与您用于运行应用程序的文件类似,根据您的测试需求进行定制。模板在测试文件夹中查找此文件。然后我们将创建一个监听指定端口的服务器。有关其他自定义,请参阅WebTest文档。

然后我们定义我们的测试套件如下

def test_suite():
    suite = unittest.TestSuite()
    current_dir = os.path.abspath(os.path.dirname(__file__))
    robot_dir = os.path.join(current_dir, 'robot')
    robot_tests = [
        os.path.join('robot', doc) for doc in
        os.listdir(robot_dir) if doc.endswith('.robot') and
        doc.startswith('test_')
    ]
    for test in robot_tests:
        suite.addTests([
            layered(robotsuite.RobotTestSuite(test),
            layer=PYRAMIDROBOTLAYER),
        ])
    return suite

这将准备套件,并将在测试文件夹内的 robot 文件夹中搜索任何扩展名为 .robot 的文件。

示例

您可以在测试文件夹中找到一个非常简单的测试应用、一个设置和一个示例机器人测试。

缺点

把这叫作缺点,我把它叫作特性 ;)

您只能使用 zope.testing.testrunner 运行测试,否则它们将被忽略。我认为也可以使用其他测试运行器,如 nose,欢迎贡献。

您可以使用包含在根包中的 zope.testing.testrunner 轻松设置 zc.buildout 环境。

$ python bootstrap.py
$ ./bin/buildout

然后,为了能够运行示例测试

$ ./bin/test

文档

请参阅 RobotFramework 文档了解如何使用它

http://code.google.com/p/robotframework/

http://code.google.com/p/robotframework/wiki/HowToWriteGoodTestCases

http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.7.6

http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.7.6

http://rtomac.github.com/robotframework-selenium2library/doc/Selenium2Library.html

变更日志

1.1 (2015-08-31)

  • 添加了 Python 3.4 支持。

1.0 (2013-07-02)

  • 初始版本

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pyramid_robot-1.1.tar.gz (6.9 kB 查看哈希值)

上传时间

由以下支持