具有文件夹行为以存储相关媒体的事件类型
项目描述
.. 内容::
.. 注意!
-----
更新以下 URL 以指向您的:
- 代码存储库
- 错误跟踪器
- 问题/评论反馈邮件
(不要设置真实邮件,以避免垃圾邮件)
或者如果不使用则将其删除。
- 代码库:http://svn.somewhere.com/...
- 对 somemailing_list 的问题和评论
- 在 http://bug.somewhere.com/ 报告错误。
更改历史记录
********* *****更新
日志
=========
0.1 (xxxx-xx-xx) - - 使用
ZopeSkel [David Jonas]详细文档
创建配方************************简介
============
这是一个成熟的功能测试。这里的重点是测试
用户可能输入和看到的内容,并且系统在很大程度上被测试为黑盒。
我们也使用 PloneTestCase 来设置这个测试,所以我们有一个完整的 Plone 站点
可以玩。我们*可以*检查门户的状态,例如使用
self.portal 和 self.folder,但由于您没有
将系统视为黑匣子,因此经常不受欢迎。此外,例如,如果您
使用 self.setRoles() 之类的调用登录或设置角色,这些不会反映在
作为单独会话运行的测试浏览器中。
作为一个doctest,我们可以在这里讲一个故事。
首先,我们必须执行一些设置。我们使用随附的测试浏览器
与五个,因为这提供了适当的 Zope 2 集成。但是,大多数
文档都在底层的 zope.testbrower 包中。
>>> from Products.Five.testbrowser import Browser
>>> browser = Browser()
>>> portal_url = self.portal.absolute_url()
以下在编写和调试 testbrowser 测试时很有用。它让
我们可以看到 error_log 中的所有错误消息。
>>> self.portal.error_log._ignored_exceptions = ()
设置好之后,我们可以转到门户首页并登录。我们将
使用 PloneTestCase 中的默认用户执行此操作:
>>> 来自 Products.PloneTestCase.setup导入portal_owner,default_password
因为附加主题或产品可能会删除或隐藏登录 portlet,所以此测试将使用 plone 附带的登录表单。
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>> > browser.getControl(name='submit').click()
在这里,我们设置登录表单上的字段值,然后模拟
提交点击。然后我们确保我们收到友好的登录消息:
>>> “您现在已登录” in browser.contents
True
最后,让我们在继续之前返回我们网站的首页
>
媒体事件内容类型
================================
在本节中,我们将通过执行
基本操作来测试媒体事件内容类型添加、更新和删除媒体事件内容
项等操作。
添加新的媒体事件内容项目
--------------------------------
我们使用“添加新”菜单添加一个新的内容项目。
>>> browser.getLink('Add new').click()
然后我们选择要添加的项目类型。在这种情况下,我们选择
“媒体事件”并单击“添加”按钮进入添加表单。
>>> browser.getControl('媒体事件') .click()
>>> browser.getControl(name='form.button.Add').click()
>>>
现在我们填写表格并提交。
>>> browser.getControl(name='title').value = 'Media Event Sample'
>>> browser.getControl('Save').click()
>>> 'Changes saved' in browser.contents
True
我们完成!我们向门户添加了一个新的“媒体事件”内容项。
更新现有的媒体事件内容项目
---------------------------------------
让我们点击“编辑”选项卡并更新对象属性值。
>>> browser.getLink('Edit').click()
>>> browser.getControl(name='title').value = 'New Media Event Sample'
>>> browser.getControl('Save').
click()我们检查是否应用了更改。
>>> browser.contents 中的“保存的更改”
True
>>> browser.contents 中的“新媒体事件示例”
True
删除一个/一个媒体事件内容项
--------------- -----
如果我们转到主页,我们可以
在全局导航选项卡中看到一个标题为“新媒体事件示例”的选项卡。
>>> browser.open(portal_url)
>>> browser.contents 中的“新媒体事件示例”
True
现在我们将删除“新媒体事件示例”对象。首先,我们
转到内容选项卡并选择“新媒体事件示例”进行
删除。
>>> browser.getLink('Contents').click()
>>> browser.getControl('New Media Event Sample')。
>>> browser.getControl('Delete').click()
>>> 'Item(s) deleted' in browser.contents
True
所以,如果我们回到主页,不再有'New Media Event
样品”选项卡。
>>> browser.open(portal_url)
>>> browser.contents 中的“新媒体事件示例”
False
添加新媒体事件内容项作为贡献者
------------------ ------------------------------
不仅允许站点管理员添加媒体事件内容项,
还允许站点贡献者。
让我们注销然后以“贡献者”身份登录,这是一个
分配了贡献者角色的门户成员。
>>> browser.getLink('
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = 'contributor'
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
>>> browser.open(portal_url)
我们使用“添加新”菜单来添加新的内容项。
>>> browser.getLink('Add new').click()
我们选择'Media Event'并点击'Add'按钮进入添加表单。
>>> browser.getControl('媒体事件').click()
>>> browser.getControl(name='form.button.Add').click()
>>> '媒体事件'
>>> browser.getControl(name='title').value = 'Media Event Sample'
>>> browser.getControl('Save').click()
>>> 'Changes saved' in browser.contents
True
完成!我们添加了一个以贡献者身份登录的新媒体事件内容项。
最后,让我们以管理员身份重新登录。
>>> browser.getLink('注销').click()
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
>>> browser.
********
.. 注意!
-----
更新以下 URL 以指向您的:
- 代码存储库
- 错误跟踪器
- 问题/评论反馈邮件
(不要设置真实邮件,以避免垃圾邮件)
或者如果不使用则将其删除。
- 代码库:http://svn.somewhere.com/...
- 对 somemailing_list 的问题和评论
- 在 http://bug.somewhere.com/ 报告错误。
更改历史记录
********* *****更新
日志
=========
0.1 (xxxx-xx-xx) - - 使用
ZopeSkel [David Jonas]详细文档
创建配方************************简介
============
这是一个成熟的功能测试。这里的重点是测试
用户可能输入和看到的内容,并且系统在很大程度上被测试为黑盒。
我们也使用 PloneTestCase 来设置这个测试,所以我们有一个完整的 Plone 站点
可以玩。我们*可以*检查门户的状态,例如使用
self.portal 和 self.folder,但由于您没有
将系统视为黑匣子,因此经常不受欢迎。此外,例如,如果您
使用 self.setRoles() 之类的调用登录或设置角色,这些不会反映在
作为单独会话运行的测试浏览器中。
作为一个doctest,我们可以在这里讲一个故事。
首先,我们必须执行一些设置。我们使用随附的测试浏览器
与五个,因为这提供了适当的 Zope 2 集成。但是,大多数
文档都在底层的 zope.testbrower 包中。
>>> from Products.Five.testbrowser import Browser
>>> browser = Browser()
>>> portal_url = self.portal.absolute_url()
以下在编写和调试 testbrowser 测试时很有用。它让
我们可以看到 error_log 中的所有错误消息。
>>> self.portal.error_log._ignored_exceptions = ()
设置好之后,我们可以转到门户首页并登录。我们将
使用 PloneTestCase 中的默认用户执行此操作:
>>> 来自 Products.PloneTestCase.setup导入portal_owner,default_password
因为附加主题或产品可能会删除或隐藏登录 portlet,所以此测试将使用 plone 附带的登录表单。
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>> > browser.getControl(name='submit').click()
在这里,我们设置登录表单上的字段值,然后模拟
提交点击。然后我们确保我们收到友好的登录消息:
>>> “您现在已登录” in browser.contents
True
最后,让我们在继续之前返回我们网站的首页
>
媒体事件内容类型
================================
在本节中,我们将通过执行
基本操作来测试媒体事件内容类型添加、更新和删除媒体事件内容
项等操作。
添加新的媒体事件内容项目
--------------------------------
我们使用“添加新”菜单添加一个新的内容项目。
>>> browser.getLink('Add new').click()
然后我们选择要添加的项目类型。在这种情况下,我们选择
“媒体事件”并单击“添加”按钮进入添加表单。
>>> browser.getControl('媒体事件') .click()
>>> browser.getControl(name='form.button.Add').click()
>>>
现在我们填写表格并提交。
>>> browser.getControl(name='title').value = 'Media Event Sample'
>>> browser.getControl('Save').click()
>>> 'Changes saved' in browser.contents
True
我们完成!我们向门户添加了一个新的“媒体事件”内容项。
更新现有的媒体事件内容项目
---------------------------------------
让我们点击“编辑”选项卡并更新对象属性值。
>>> browser.getLink('Edit').click()
>>> browser.getControl(name='title').value = 'New Media Event Sample'
>>> browser.getControl('Save').
click()我们检查是否应用了更改。
>>> browser.contents 中的“保存的更改”
True
>>> browser.contents 中的“新媒体事件示例”
True
删除一个/一个媒体事件内容项
--------------- -----
如果我们转到主页,我们可以
在全局导航选项卡中看到一个标题为“新媒体事件示例”的选项卡。
>>> browser.open(portal_url)
>>> browser.contents 中的“新媒体事件示例”
True
现在我们将删除“新媒体事件示例”对象。首先,我们
转到内容选项卡并选择“新媒体事件示例”进行
删除。
>>> browser.getLink('Contents').click()
>>> browser.getControl('New Media Event Sample')。
>>> browser.getControl('Delete').click()
>>> 'Item(s) deleted' in browser.contents
True
所以,如果我们回到主页,不再有'New Media Event
样品”选项卡。
>>> browser.open(portal_url)
>>> browser.contents 中的“新媒体事件示例”
False
添加新媒体事件内容项作为贡献者
------------------ ------------------------------
不仅允许站点管理员添加媒体事件内容项,
还允许站点贡献者。
让我们注销然后以“贡献者”身份登录,这是一个
分配了贡献者角色的门户成员。
>>> browser.getLink('
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = 'contributor'
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
>>> browser.open(portal_url)
我们使用“添加新”菜单来添加新的内容项。
>>> browser.getLink('Add new').click()
我们选择'Media Event'并点击'Add'按钮进入添加表单。
>>> browser.getControl('媒体事件').click()
>>> browser.getControl(name='form.button.Add').click()
>>> '媒体事件'
>>> browser.getControl(name='title').value = 'Media Event Sample'
>>> browser.getControl('Save').click()
>>> 'Changes saved' in browser.contents
True
完成!我们添加了一个以贡献者身份登录的新媒体事件内容项。
最后,让我们以管理员身份重新登录。
>>> browser.getLink('注销').click()
>>> browser.open(portal_url + '/login_form')
>>> browser.getControl(name='__ac_name').value = portal_owner
>>> browser.getControl(name='__ac_password').value = default_password
>>> browser.getControl(name='submit').click()
>>> browser.
********