跳转到主要内容

设置可用的selenium RC环境的食谱

项目描述

详细文档

观看屏幕录像!

支持选项

该食谱支持以下选项

seleniumversion

要使用的selenium版本,版本号可以从http://release.seleniumhq.org/selenium-remote-control/获取。默认:nightlyBuild。

eggs

要在运行路径中包含的eggs。路径中包含的任何产品都将可供运行器搜索和运行selenium测试。

java-cmd

运行selenium服务器的命令。默认:java。

示例用法

使用该食谱的基本buildout应类似于以下内容

>>> write('buildout.cfg',
... """
... [buildout]
... parts = seleniumenv
...
... [seleniumenv]
... recipe = rcom.recipe.seleniumenv
... seleniumversion = 1.0-beta-2
... eggs = ${instance:eggs}

the seleniumrunner 脚本

Selemium运行器是一个用于查找和运行Selemium测试的脚本,一旦安装了配方,它将位于您的bin目录中。它接收不同的参数,其主要目标是简化测试执行和报告过程。此脚本将唤醒Selemium RC服务器,搜索并运行测试,然后关闭服务器并报告测试结果。一旦安装了配方,应将测试运行器放置在bin目录中

运行测试

要运行任何产品捆绑的测试套件,在运行buildout之后首先要做的是准备一个用于测试的Plone站点(如果用户还没有用于测试的Plone站点)。为此,您必须首先唤醒实例

./bin/instance start

要运行产品的所有Selemium测试,用户至少需要传递两个参数

-i instance

Plone站点的名称。

-s product

运行器将在其中搜索要运行的测试的产品。

一个示例测试执行将是

$ ./bin/seleniumrunner -i testPloneSite -s namespace.product

这将搜索产品的所有Selemium测试并在http://localhost:<端口号>/testPloneSite上运行。

要运行特定的测试,应将-t参数传递给运行器

$ ./bin/seleniumrunner -i testPloneSite -s namespace.product -t exampleTest

创建测试

Selemiumrunner脚本将在指定路径下查找继承自unittest.TestCase的所有类,这些路径位于以下类型的路径下

namespace.product/namespace/product/tests/seleniumtests
测试开发指南

要创建测试,有一些基本规则要遵循

  1. 测试应继承自unittest.TestCase类(这也可以间接完成)。

  2. 测试应使用某些全局变量,以便代码可以在不同的环境和Plone实例上工作。这些是

    • browser:用于测试的浏览器

    • port:用于与服务器通信的端口号

    • url:测试应用程序的URL

    • instance:Plone站点名称(这取决于用于创建站点的名称)。

这些变量永远不会在测试代码内部更改,因为Selemiumrunner脚本将在运行时根据接收到的参数设置它们。

所有这些规则都可以在以下示例测试中看到。

示例测试

以下是一个示例测试,它可以作为未来测试的基本结构

from selenium import selenium
import unittest

class NewTest(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", port, browser, url)
        self.selenium.start()

    def test_new(self):
        sel = self.selenium
                        sel.open(instance + "/login.html")
        # Do specific tests in here

    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

请注意,与使用Selenium IDE导出的基本测试相比,此测试没有太大变化,唯一的区别是setUp方法中使用的变量。

贡献者

Santiago Suarez Ordoñez,作者 Juan Pablo Gimenez,贡献者

变更历史

0.1 (2009-01-05)

  • 使用ZopeSkel创建配方 [Santiago Suarez Ordoñez]。

1.0 (2009-02-14)

  • 结束代码更改并将egg上传到pypi [Santiago Suarez Ordoñez]。

下载

http://pypi.python.org/packages/source/r/rcom.recipe.seleniumenv/rcom.recipe.seleniumenv-1.0dev-r4475.tar.gz#md5=a093a67c7fe5d9339856e0ebda88061e

项目详细信息


支持者

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