跳转到主要内容

功能测试套件运行器

项目描述

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_selectedis_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)

    相反,我们使用基于作用域的模型

    1. 项(测试、套件、配置)首先在当前(本地)命名空间中查找相关项

    2. 如果本地找不到,则在全局命名空间中查找

    点仍然用于命名空间分隔。因此,查找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 (25.4 kB 查看哈希值)

上传时间

支持者

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