跳转到主要内容

用于Zope和Plone的测试浏览器。

项目描述

ftw.testbrowser

包文档

ftw.testbrowser 是一个用于测试 Plone 网站和应用程序的浏览器库。它直接集成到 Plone / Zope,并使用 lxml 进行页面解析和查询。它支持所有基本功能,如填写表单。

变更日志

2.1.2 (2020-07-28)

  • editbar.menu 和 editbar.menus 现在可以在 Plone5 中找到工作流内容菜单。[djowett-ftw]

2.1.1 (2020-02-19)

  • 由于 python3 中的默认模式已更改 [Portingguide],我们应该在 core.py 中使用 from io import open 以使其与两个版本兼容。这对于例如 browser.debug() [busykoala] 是相关的。

2.1.0 (2019-12-04)

  • 实现 webtest 驱动。[buchi]

2.0.0 (2019-12-04)

  • 添加对 Plone 5.2 的支持。[buchi]

  • 由于底层库在 Zope 4(Plone 5.2)中不再可用,使 Traversal 和 Mechanize 驱动成为可选。[buchi]

  • 在 Plone 5 及更高版本测试中不再使用 plone.formwidget.autocomplete 和 plone.formwidget.contenttree。[buchi]

  • 实现AjaxSelectWidget并改进RelatedItemsWidget。[buchi]

  • 通过指令设置小部件并移除表单包装来使测试中使用的z3c表单现代化。[buchi]

  • Plone 5:禁用资源注册表以提高整体性能。[jone]

  • 添加对Python 3的支持。[buchi]

1.30.1 (2019-01-25)

  • browser添加一个allow_redirects属性,以便能够阻止重定向。[Rotonen]

1.30.0 (2018-08-03)

  • 修复HTML文档(未声明编码)的编码问题,通过尊重内容类型响应头中的编码来处理。[jone]

1.29.7 (2018-04-30)

  • 修复由Plone生成的WebDav文档中的命名空间问题。[njohner]

1.29.6 (2018-03-26)

  • 修复上传文件和使用unicode表单值时的MIME编码错误。[jone]

1.29.5 (2017-12-04)

  • 改进错误字段的提取。[jone, mbaechtold]

1.29.4 (2017-11-30)

  • 修复未绑定局部错误。[deiferni]

1.29.3 (2017-11-23)

  • 添加对plone.uuid的缺失依赖。[njohner]

1.29.2 (2017-11-10)

  • 修复browser.debug在打开文件之前完成写入的问题。[jone]

1.29.1 (2017-11-08)

  • 改进打开相对URL。[mbaechtold]

1.29.0 (2017-10-13)

  • 重构plone.protect的自动CSRF支持,以兼容ftw.testing的COMPONENT_REGISTRY_ISOLATION隔离层。[jone]

1.28.1 (2017-10-03)

  • 工厂菜单:修复菜单可见但为空时的回归问题。[jone]

1.28.0 (2017-10-03)

  • 让遍历驱动程序支持plone.protect>=3自动CSRF保护。[jone]

  • 添加Plone 5.1支持。[jone, maethu]

1.27.0 (2017-09-15)

  • 改进标准页面对象中的多浏览器支持。[jone]

1.26.3 (2017-09-11)

  • 使plone.protect导入可选,以便ftw.testbrowser在没有plone.protect的情况下工作。[jone]

1.26.2 (2017-08-14)

  • 不允许将browser用作嵌套上下文管理器。[jone]

  • 修复在上下文管理器中使用时的重置行为。[jone]

1.26.1 (2017-07-31)

  • Datagridfield小部件:支持其他小部件的单元格填充。[jone]

1.26.0 (2017-07-27)

  • 特性:当Plone请求导致权限不足问题时引发InsufficientPrivileges。[jone]

1.25.0 (2017-07-04)

  • 添加编辑栏页面对象模块。[jone]

  • 用QueryInfo类重新实现内部查询信息。[jone]

  • 为CSRF支持添加send_authenticator选项。[jone]

1.24.3 (2017-06-23)

  • 修复read the docs构建的问题。[jone]

1.24.2 (2017-06-21)

  • 遍历驱动程序:解码gzip编码的响应。[jone]

1.24.1 (2017-06-19)

  • 声明缺失的依赖项。[lgraf]

1.24.0 (2017-06-16)

  • 当意外出现异常时,将异常记录到stderr。[jone]

  • 标准化重定向循环检测:始终抛出RedirectLoopException。[jone]

  • 添加遍历请求驱动程序。[jone]

1.23.2 (2017-06-16)

  • 修复当base_url以视图名称结束时browser.context的问题。[phgross]

1.23.1 (2017-05-02)

  • 修复当正文是字节串时browser.debug的问题。[jone]

1.23.0 (2017-04-28)

  • 引入browser.expect_unauthorized上下文管理器。[jone]

1.22.2 (2017-04-28)

  • HTTPError:在异常中包括代码和原因。[jone]

  • 文档:修复错误的expect_http_error参数名称。[jone]

1.22.1 (2017-04-28)

  • 文档:切换到RTD,更新URL。[jone]

  • 文档:切换到RTD Sphinx主题。[lgraf]

1.22.0 (2017-04-28)

  • 禁止设置“x-zope-handle-errors”头。[jone]

  • 添加一个选项browser.exception_bubbling,默认禁用。[jone]

  • Mechanize:不再禁用“x-zope-handle-errors”。[jone]

  • 引入browser.expect_http_error()上下文管理器。[jone]

  • 添加一个选项browser.raise_http_errors,默认启用。[jone]

  • 默认情况下引发HTTPClientErrorHTTPServerError。[jone]

  • 引入browser.status_reason。[jone]

  • 引入browser.status_code。[jone]

1.21.0 (2017-04-19)

  • 使zope.globalrequest支持可选。[jone]

  • 添加用于设置默认驱动程序的测试层。[jone]

  • default_driver选项添加到驱动程序。[jone]

  • 重构:引入请求驱动程序。[jone]

1.20.0 (2017-04-10)

  • 添加对按钮标签的支持。[tschanzt]

  • 不再使用Archetypes进行测试,只使用dexterity进行测试。[jone]

  • 支持最新的Plone 4.3.x版本。[mathias.leimgruber]

1.19.3 (2016-07-25)

  • 声明一些之前缺失的测试需求。[lgraf]

  • 声明之前缺失的zope.globalrequest依赖项(在#35中引入)。[lgraf]

1.19.2 (2016-06-27)

  • 在使用mechanize打开页面时保留zope.globalrequest的请求。[deiferni]

  • 在异常信息中提供可用选项的咨询。[lgraf]

1.19.1 (2015-08-20)

  • 在填充带有单选按钮的表单时保留单选按钮输入。[deiferni]

1.19.0 (2015-07-31)

  • 实现浏览器.click_on(tex)快捷键以点击链接。[jone]

  • 修复选择缺失选择选项时断言信息中的编码错误。[mbaechtold]

1.18.1 (2015-07-23)

  • 修复GET表单提交为实际使用GET提交。[jone]

1.18.0 (2015-07-22)

  • 表格:添加新的“column”方法以获取列中的所有单元格。[jone]

1.17.0 (2015-07-22)

  • 添加对collective.z3cform.datagridfield的支持。[jone, mbaechtold]

1.16.1 (2015-07-13)

  • 自动完成小部件:从javascript中提取URL。[jone]

1.16.0 (2015-07-08)

  • 添加图像上传小部件支持(archetypes和dexterity)。[jone]

1.15.0 (2015-05-07)

  • 使用XML解析器而不是HTML解析器解析XML响应。新的解析响应方法:parse_as_htmlparse_as_xmlparse。[jone]

  • 添加浏览器属性contenttypemimetypeencoding。[jone]

1.14.6 (2015-04-17)

  • 优先使用cssselect而不是lxml.cssselect。这允许我们使用lxml >= 3。[jone]

  • 添加z3c日期字段的测试。[phgross]

1.14.5 (2015-01-30)

  • 自动完成小部件:在构建查询URL时从基本URL中删除查询字符串。[lgraf]

1.14.4 (2014-10-03)

  • 小部件:在测试自动完成小部件后测试序列小部件。一些小部件同时匹配自动完成和序列小部件。在这种情况下,我们希望有自动完成小部件。[jone]

1.14.3 (2014-10-02)

  • 修复无id属性的textarea标签的错误。[jone]

1.14.2 (2014-09-29)

  • 修复相对URL的问题。[jone, deiferni]

1.14.1 (2014-09-26)

  • 正确设置HTTPREFERER头。[jone]

1.14.0 (2014-09-26)

  • 添加folder_contents页面对象。[jone]

  • 更新表方法以使用关键字参数

    • head_offset: 用于从标题中删除行

    • as_text: 设置为False以获取单元格节点

    [jone]

1.13.4 (2014-09-22)

  • 填充选择:当找不到选项时,显示详细的错误消息。现在消息中包括可用选项。[jone]

1.13.3 (2014-09-02)

  • Node.text: 删除由嵌套引起的行中多个空格。[jone]

1.13.2 (2014-08-06)

  • 修复填充包含复选框的表单时的问题。[phgross]

1.13.1 (2014-07-15)

  • 修复二进制文件上传的编码问题。[jone]

1.13.0 (2014-06-12)

  • 添加Dexterity namedfile上传小部件。[lgraf]

1.12.4 (2014-05-30)

  • 修复对python 2.6的支持。[jone]

1.12.3 (2014-05-30)

  • 修复z3cform选择收集小部件以支持Plone < 4.3。[jone]

1.12.2 (2014-05-29)

  • 修复z3cform选择收集小部件提交值。小部件在提交时创建隐藏输入字段。[jone]

1.12.1 (2014-05-29)

  • 修复使用路径时z3cform选择收集小部件的错误。[jone]

1.12.0 (2014-05-29)

  • 添加z3cform选择收集小部件。这用于z3cform List字段具有Choice value_type。[jone]

  • 添加带有获取可用选项的方法的选择字段节点包装器。[jone]

1.11.4 (2014-05-22)

  • browser.open(data): 支持相同数据名称的多个值。值可以是传递为具有列表值的字典或作为两个元素的元组的序列。[jone]

1.11.3 (2014-05-19)

  • 修复当之前的请求引发异常时browser.url回归。[jone]

1.11.2 (2014-05-17)

  • 使NoElementFound异常消息更加详细。当对空结果集执行.first时引发NoElementFound异常,异常消息现在包括原始查询。[jone]

1.11.1 (2014-05-17)

  • 修复自动完成小部件“query”中的browser克隆回归。克隆的浏览器不再具有相同的头/cookie,导致无法进行认证访问。[jone]

  • 添加用于创建浏览器克隆的新browser.clone方法。[jone]

  • 更新标准页面对象以接受浏览器实例作为关键字参数。这使得可以使用非标准浏览器使用页面对象。[jone]

1.11.0 (2014-05-14)

  • 添加browser.base_url属性,尊重<base>标签。[jone]

  • 新浏览器调试方法,在您的真实浏览器中打开当前页面。[jone]

  • 新浏览器.on方法,browser.open的懒加载版本。[jone]

  • 新浏览器.reload方法,重新加载当前页面。[jone]

  • 改进请求库支持

    • 支持选择请求库,使Zope应用设置可选。如果没有设置Zope应用,则将requests库设置为默认值,否则使用mechanize。

    • 支持使用requests库提交表单。

    • 改进equests库请求的登录和头部支持。

    • 为equests库请求添加browser.cookies支持。

    • 使用requests库会话,以便cookies和头部持久化。

    • 在提交数据时自动使用“POST”。

    [jone]

  • 登录改进

    • 支持将成员对象传递给browser.login()。用户/成员仍然预期使用TEST_USER_PASSWORD作为密码。

    • 重构登录以使用新的请求头部方法。

    [jone]

  • 添加用于管理永久请求头部的请求头部方法。

    • browser.append_request_header

    • browser.replace_request_header

    • browser.clear_request_header

    [jone]

  • 重构表单:消除类方法和全局browser的使用。这提高了运行多个browser实例时表单的支持。

    • Form.field_labels(类方法)现在是实例属性和公共API。

    • Form.find_widget_in_form(类方法)已删除,并替换为Form.find_widget(实例方法)。

    • Form.find_field_in_form(类方法)已删除,并替换为Form.get_field(实例方法)。

    • Form.find_form_element_by_label_or_name(类方法)已删除,并替换为browser.find_form_by_field。

    • Form.find_form_by_labels_or_names(类方法)已删除,并替换为browser.find_form_by_fields。

    • 添加新的Form.action_url属性,包含完整的动作URL。

    • 修复使用相对路径和文档样式基本URL组合时的表单动作URL错误。[jone]

    [jone]

  • 修复input.label的包装错误 - 这仅适用于部分字段类型。[jone]

  • 修复节点字符串表示中的UnicodeDecodeError。[mathias.leimgruber]

1.10.0 (2014-03-19)

  • 添加NodeWrapper属性

    • innerHTML

    • normalized_innerHTML

    • outerHTML

    • normalized_outerHTML

    [jone, elioschmutz]

1.9.0 (2014-03-18)

  • 添加对填充AT MultiSelectionWidget的支持。[jone]

1.8.0 (2014-03-04)

  • 向browser添加一个context属性,包含当前查看页面的当前上下文(Plone对象)。[jone]

1.7.3 (2014-02-28)

  • 修复工厂菜单页面对象中的编码问题。问题发生在菜单中有“限制……”条目时。[jone]

1.7.2 (2014-02-25)

  • 表单:支持检查无值的复选框。没有值属性的复选框是无效的,但很常见。默认浏览器行为是回退到值“on”。[jone]

1.7.0 (2014-02-03)

  • ContentTreeWidget:支持将对象作为值填充。[jone]

1.6.1 (2014-01-31)

  • 在browser中实现logout,在每次登录之前注销。[jone]

1.6.0 (2014-01-29)

  • 向browser添加cookies属性。[jone]

1.5.3 (2014-01-28)

  • 修复browser.forms上的多重包装。[jone]

1.5.2 (2014-01-17)

  • 实现archetypes datetime widget表单填充。[jone]

1.5.1 (2014-01-07)

  • 修复使用Browser.open直接提交unicode数据时的编码问题。[jone]

  • 支持使用字节数组填充表单。[jone]

  • 修复umlauts的表单填充。[jone]

  • 修复单选字段表单填充。[jone]

1.5.0 (2014-01-03)

  • 实现AT文件上传小部件,因为标签不起作用。[jone]

  • 实现文件上传。[jone]

  • 在browser上添加“headers”属性。[jone]

1.4.0 (2013-12-27)

  • 弃用normalized_text方法,用text属性替换它。属性更直观且易于记忆。属性几乎与normalized_text相同,但它将

    分别用单行和双行换行符表示。text是lxml text属性,它包含当前节点的原始、非递归文本,现在作为raw_text属性提供。[jone]

  • open_html:使调试文件包含传递的HTML。[jone]

  • 序列小部件:实现具有标签支持和验证的定制表单填充。[jone]

  • 序列小部件:通过输入和选项添加附加属性。[jone]

1.3.0 (2013-12-11)

  • 在自动完成小部件中实现“查询”方法。[jone]

  • 为z3cform日期时间小部件实现表单填充。[jone]

  • 修复在NodeWrapper包装时设置节点属性的问题。[jone]

  • 为z3cform自动完成小部件实现表单填充。[jone]

  • 为z3cform序列小部件实现表单填充。[jone]

  • 为使用ZServer执行WebDAV请求添加webdav方法。[jone]

1.2.0 (2013-11-24)

  • 将浏览器对象添加到open_html方法中,允许直接传递HTML。[jone]

1.1.0 (2013-11-07)

  • 添加dexterity页面对象,重构z3cform页面对象。[jone]

  • 添加用于表格测试的表格节点和辅助器。[jone]

  • 合并“节点”列表返回新的“节点”列表,而不是“列表”。[jone]

  • 在“节点”列表的字符串表示中显示包含的元素。[jone]

  • 修复使用CSS直接选择直接子元素(node.css(“>tag”))的问题。[jone]

  • recursive选项添加到normalized_text中。[jone]

1.0.2 (2013-10-31)

  • 在标准化空白时,也替换非换行空格。[jone]

1.0.1 (2013-10-31)

  • first_or_none属性添加到Nodes。[jone]

1.0.0 (2013-10-28)

  • 初始实现。[jone]

项目详情


发布历史 发布通知 | RSS源

下载文件

下载您平台上的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码发行版

ftw.testbrowser-2.1.2.tar.gz (121.5 kB 查看哈希值)

源代码

支持者:

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