跳转到主要内容

Plone的Selenium测试支持

项目描述

简介

此软件包提供了一种PloneTestCase样式的类,用于运行Selenium测试。

它要求您在测试运行时运行Selenium RC(http://selenium-rc.openqa.org)。当前版本的Python 'selenium'库(这是此包的自动安装依赖项)似乎与Selenium RC 0.9.2配合得最好。下载后,使用以下命令运行:

$ java -jar selenium-server.jar

请参阅test_example.py,了解如何设置Plone站点并运行简单测试的示例。

请参阅testcase.py,了解更多关于SeleniumTestCase基类中包含的便捷方法和它用来配置Selenium的层的详细信息。如果您需要更仔细地管理Selenium Server信息,您可能想要使用从这个层派生出的自定义层。

请注意,您可以通过设置以下环境变量来影响Selenium驱动程序查找Selenium RC服务器的地方

  • SELENIUM_HOST,主机名(默认为“localhost”)

  • SELENIUM_PORT,端口(默认为“localhost”)

  • SELENIUM_BROWSER,要启动的浏览器(默认为“*chrome”)

使用方法

一个简单的测试用例可能看起来像这样

from collective.ploneseltest import SeleniumTestCase

class DocumentTestCase(SeleniumTestCase):

    def afterSetUp(self):
        """Setup for each test
        """
        self.setRoles(['Manager'])
        self.login_user()

    def test_create_document(self):
        self.selenium.click("//dl[@id='plone-contentmenu-factories']/dt/a/span[1]")
        self.selenium.click("document")
        self.wait()
        self.selenium.type("title", "Some document")
        self.selenium.click("name=form_submit")
        self.wait()
        self.failUnless(self.selenium.is_text_present("Some document"))

省略了常规的测试设置和套件样板。

请参阅 http://selenium-rc.openqa.org/python.html 获取有关可用客户端命令的更多信息。您可能还对 http://selenium-ide.openqa.org 感兴趣。

注意事项

可以在 afterSetUp() 方法中设置状态,例如:

def afterSetUp(self):
    self.setRoles(['Manager'])
    ...

但是,在开始运行 Selenium 命令之前,应明确提交所有更改

import transaction ; transaction.commit()

为了使这更容易,有一个方便的 self.open() 方法。这将打开 Plone 网站或其内的页面。在进行操作之前将执行提交,以防有未提交的更改。

请注意,self.open() 由 self.login_user() 使用,因此为了以登录的管理员用户身份启动每个测试,您会这样做:

def afterSetUp(self):
    """Setup for each test
    """
    self.setRoles(['Manager'])
    self.login_user()

变更日志

1.0b2

  • 修复了当 selenium 会启动两次的 bug [Domen Kozar]

1.0b1

  • 初始发布

项目详情


下载文件

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

源分布

collective.ploneseltest-1.0b2.tar.gz (9.7 kB 查看哈希)

上传时间

构建分布

collective.ploneseltest-1.0b2-py2.5.egg (8.5 kB 查看哈希)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面