从zope2中运行selenium测试套件
Products.Zelenium的Python项目详细描述
Zelenium:Zope2的硒测试
概述
此产品允许开发人员创建ttw selenium测试套件 在他们的zope实例中,为了实现基于浏览器的功能 测试他们的站点。
先决条件
- 正在工作的Zope2装置。有关说明,请参见安装zope 在a virtualenv 中设置zope 2.12或安装zope时 使用zc.buildout 将其安装在建筑物中。
安装产品
如果您正在使用buildout,请将products.zelenium添加到 eggs= 实例部分的参数。
如果使用 virtualenv 方法开发zope2软件,请添加 products.zelenium 到 设置程序包的.py 或运行 bin/easy_install products.zelenium 安装Zope2后。
最后,如果您使用的是传统的instance_home安装:
< Buff行情>- 在临时位置打开皮球。
- 复制或移动 zelenium 目录到 products 目录 你家的实例。
- 重新启动Zope。
使用Zelenium
您可以在zope中的任何位置添加一个 zuite 对象 站点。它的行为就像一个标准的有序文件夹,有几个 差异:
- "testrunner.html"视图很熟悉 从硒中提取。
- 它派生了测试套件(在左上角iframe中) 所有名以 test 开头的ofs.image.file对象。 您可以使用OrderedFolder支持在 运行的测试用例文件。
- 它提供了一个"zip"操作,允许您导出 测试套件、所有测试用例和支持的selenium javascript/css文件作为一个独立的zipfile。
报告针对Zelenium的错误
请使用启动板报告错误 您可以根据产品找到,以及提交修补程序、请求 功能等
添加测试
测试只是名称以test开头的文件实例。 它们的内容类型应为 text/html ,并且应包含 定义组成测试用例的步骤的表。
有关文档,请参见http://selenium.thoughtworks.com/testrunner.html" rel="nofollow">http://selenium.thoughtworks.com/testrunner.html。 关于表结构和赛琳娜语。
使用其他元类型作为测试用例
在测试套件的"属性"选项卡上,可以添加/修改 套件将允许作为测试用例的元类型列表。 例如,添加"script(python)",可以定义 pythonscripts中的测试用例。
嵌套测试套件
每个测试套件自动包含 它包含的套房。您可以利用此功能 将测试用例组织在一个层次结构中,在不同的层次结构中运行它们 分段,或一次全部。
包括来自文件系统的测试
测试套件现在有一个属性,文件系统路径 套件将从 该路径指向的目录。
要包含的文件列表通过以下方式计算 规则:
- 如果testsuite_name属性包含 存在于目录中,假定它包含 包含测试的文件,每行一个。测试用例将是 按文件中指示的顺序显示,以及测试用例 可能包含不止一次。
- 如果testsuite\u name属性为空,但目录 包含一个文件, 。对象 ,假定为 包含要包含的文件列表,每行一个;仅包含那些 将包括文件/子目录(如果存在)。在这种情况下, 测试用例将按照文件中指定的顺序呈现, 然后是子目录中的任何测试用例。
- 否则,如果套件的属性, filename_glob 为非空, 它将被扩展(通过python的 glob.glob )来计算列表 文件名的。测试用例将按字母顺序显示 顺序,然后是子目录中的任何测试用例。
- 否则,任何文件都将被视为测试用例。测试用例 将按字母顺序显示,然后是任何测试用例 从子目录。
导出存档
在"zip"选项卡上,提供文件名并单击"下载"按钮。 zuite对象将构造一个zip文件,其中包含以下内容 内容:
< DL>存档还将包含每个支持 .js 和 .css 驱动浏览器的文件。
创建快照
在"zip"选项卡上,提供文件名并单击"下载"按钮。 zuite对象将构造一个包含相同内容的zip文件 如上所述,然后将其作为文件对象保存在自己的内容中。
使用tcpwatch生成测试用例
从shane hathaway的网站下载tcpwatch产品:
解包并在其"http代理"模式下运行tcpwatch,并重新编码 打开。例如,以下命令在 端口9999,将请求/响应数据记录到目录 /tmp/录制的场景 :
$ python /path/to/tcpwatch/ tcpwatch.py \ -p 9999 -r /tmp/recorded_scenario
将浏览器配置为在本地主机端口9999上使用http代理。
点击您的网站,使用您正在测试的功能。
停止代理。运行 generator.py 脚本,指向 tcpwatch正在录制的目录:
$ python /path/to/Zelenium/generator.py \ --logfile-directory=/tmp/recorded_scenario \ --output-file=test_case_name.html
编辑生成的测试用例,删除/更正 步骤:
将测试用例上传到Zelenium Zuite并运行它。
从测试运行中捕获结果
selenium有一个允许testrunner上传 从自动测试运行到服务器的结果数据。
像往常一样从浏览器中调用测试套件,但是 查询字符串?auto=true,指向URL,例如:
< Buff行情> http://localhost:8080/test\u套件?自动=真selenium将运行所有测试用例,然后上载其结果数据 到您套件的 postsults 方法。(注意你不再 需要站点根目录中的 postsults pythonscript,因为 Selenium的最新版本发布到相对于 测试套件)。