用于Zope和Plone的测试浏览器。
项目描述
ftw.testbrowser
ftw.testbrowser 是一个用于测试 Plone 网站和应用程序的浏览器库。它直接集成到 Plone / Zope,并使用 lxml 进行页面解析和查询。它支持所有基本功能,如填写表单。
链接
版权
本软件包由4teamwork拥有版权。
ftw.testbrowser 根据 GNU 通用公共许可证,版本 2 授权。
变更日志
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]
默认情况下引发HTTPClientError和HTTPServerError。[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_html、parse_as_xml和parse。[jone]
添加浏览器属性contenttype、mimetype和encoding。[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]
项目详情
ftw.testbrowser-2.1.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20edd368b21f591a41e66ed4d58688d8937ef3e2c882fac584907a021f2f72c6 |
|
MD5 | 0b305c8478da4bdf69d22b7862648575 |
|
BLAKE2b-256 | 36f78c509a14ba0b50192e953802e1a8e66b32e6ed05a6a152a2531b6f9d25ef |