设置可用的selenium RC环境的食谱
项目描述
有关问题和评论,请联系santiycr at rcom dot com dot ar
在santiycr at rcom dot com dot ar报告错误
详细文档
支持选项
该食谱支持以下选项
- 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
测试开发指南
要创建测试,有一些基本规则要遵循
测试应继承自unittest.TestCase类(这也可以间接完成)。
测试应使用某些全局变量,以便代码可以在不同的环境和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]。