功能测试套件运行器
项目描述
Flunc:一个用于Web应用程序的功能测试套件运行器。
安装
我们建议在Virtualenv中安装。
您可以使用 easy_install flunc 安装flunc;或者您可以下载tarball,解压,然后运行 python setup.py develop。
编写测试
Flunc测试是Twill脚本。
有一个firefox扩展允许您从浏览器内部直接记录测试。要安装,请访问
这些测试以xml格式保存。您可以通过执行以下命令将这些测试转换为twill脚本:
testgentotwill recorded.html > twillscript.twill
当然,您仍然可以手动编写测试。
运行测试
运行 flunc --help 以获取运行功能测试的详细信息。
默认情况下,flunc将在./ftests/目录下查找测试。您可以使用-p(--path)选项来更改此设置。
一些示例
flunc all
在http://localhost/上运行所有列出的all.tsuite测试。
flunc -t http://localhost:8080/some_portal all
在localhost:8080/some_portal上运行所有列出的all.tsuite测试。
flunc -c all create_user
使用all.conf运行create_user.twill。
flunc -c all create_user login create_project destroy_project destroy_user
指定一个临时测试套件,在默认主机上创建和销毁用户和项目。
查找测试
单个测试包含在
<test>.twill
测试套件包含在
<suite>.tsuite
套件配置包含在
<suite>.conf
在套件之后运行清理套件,并在
<suite>_cleanup.tsuite
更多详细信息请访问Flunc主页。
0.8 (2011-04-04)
更好的错误处理行为,当搜索路径(-p选项)不存在或不是目录时(例如)
向flunc.urlinspector中的url_qs命令添加可选的第二个参数,如果存在,则断言给定查询字符串参数的值,以及其存在性。(例如)
在flunc.xpath中添加新的命令css_len,它允许您测试给定的CSS选择器是否匹配页面中恰好N个元素(例如)
0.7 (2009-10-05)
-D(–define)命令行选项现在按文档所述工作(例如)
0.6 (2009-07-06)
添加扩展模块flunc.urlinspector,其中包含一个名为url_qs的命令,用于对当前URL的查询字符串进行简单断言(例如)
向flunc.xpath添加notfind_in_css命令(例如)
对于无效的参数传递语法显示更有意义的错误信息(例如)
向删除用户时清除opencore成员清理队列的zope_cleanup.opencore_user_cleanup方法添加(如果opencore版本不支持此功能,则不会发生硬错误)(pw)
0.5 (2009-05-05)
向flunc.xpath模块添加find_in_css命令。使用它来在给定的CSS选择器中查找正则表达式,就像find_in_xpath(例如)
将二进制数据直接传递到twill脚本中作为传入参数的值,而不是将其作为字符串进行转义(cabraham)
0.4 (2008-12-18)
向checkbox.py添加两个twill扩展:not_selected,is_enabled(pw)
更改is_selected以正确处理复选框,我想(pw)
将默认主机更改为http://localhost(pw)
0.3 (2008-06-25)
添加一个twill扩展(flunc.checkbox.is_selected),用于对表单默认值进行断言(pw)
0.2 (2008-04-14)
在调用zope_delobject()时不要显示BadRequest异常——这些是正常的,只是增加了大量噪声(pw)
添加了支持xpath的twill扩展。这引入了对lxml的依赖。添加了一个函数:find_in_xpath(rmarianski)
find_in_xpath在xpath表达式的HTML结果上运行查找命令。例如:{{{ extend_with flunc.xpath find_in_xpath “People” “//div[@id=’oc-pageNav’]” }}}
更改了命名空间行为;现在没有前导点来指定全局命名空间。(jhammel)
相反,我们使用基于作用域的模型
项(测试、套件、配置)首先在当前(本地)命名空间中查找相关项
如果本地找不到,则在全局命名空间中查找
点仍然用于命名空间分隔。因此,查找foo.bar将首先在本地命名空间中查找命名空间foo;如果存在,它将尝试在该命名空间中查找bar。如果foo不是与当前相关联的命名空间,它将尝试在全局命名空间中查找foo.bar。
向测试添加了分层命名空间(jhammel)
以前,测试位于扁平的命名空间中。使用–recursive,可以将根目录下的所有测试放入单个命名空间中。现在每个目录都与一个命名空间相关联。具有单个名称的测试或套件引用同一命名空间中的项目(即同一目录)。您可以将foo子目录下的bar测试或套件引用为
foo.bar
如果套件与子目录名称相同,您可以使用完整规范或缩写来引用它
foo.foo
或
foo
要引用全局命名空间,请在测试、套件或路径名称前加一个点
.foo.bar
指的是根目录下foo目录下的bar套件或测试。
这些更改应与现有测试向后兼容,并是为了便于测试组织而进行的,旨在在测试分布在磁盘的多个位置时提供操作命名空间的灵活性。
项目详情
flunc-0.8.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | be97285ca61a8751fadcde53b818132a518fbd0a42b50bc7a2445a3f3f2a169e |
|
MD5 | 82743b704555a6b44b45f24d0531bf69 |
|
BLAKE2b-256 | 41e1998a7023a3e830fb63026a20428e48a93c8daea7eb7a3bcb2fcd5244f066 |