folderish类型保存新闻稿文件,可下载的压缩包功能

Products.pressKit的Python项目详细描述


…内容:

…注意!
----
更新以下URL以指向您的:

-代码库
-错误跟踪器
-问题/评论反馈邮件
(不要设置真正的邮件,避免垃圾邮件)

如果不使用,请将其删除。

-代码存储库:http://svn.somewhere.com/…
-对某个邮件列表的问题和评论
-在http://bug.somewhere.com/上报告错误。



更改历史
*********************************



>变更日志

===



<0.1(xx xx xx-xx-xx-xx-xx)0.1(xxxxxx-xx-xx-xx)0.1
=











******************************************





>详细文档

************************************************





===

这是一个全面的功能测试。这里的重点是测试用户可能输入和看到的内容,并且系统在很大程度上是作为一个黑盒进行测试的。
我们也使用plonetestcase来设置这个测试,因此我们有一个完整的plone站点可以使用。我们*可以*检查门户的状态,例如使用
self.portal和self.folder,但由于您没有将系统视为一个黑盒,因此常常会对它感到不快。另外,如果您使用self.set roles()之类的调用登录或设置
角色,这些不会反映在作为单独会话运行的测试浏览器中。

作为doctest,我们可以在这里讲述一个故事。

首先,我们必须执行一些设置。我们使用带有5个的testbrowser,因为它提供了正确的zope 2集成。不过,大多数
文档都在底层的zope.testbrower包中。

>;>;来自products.five.testbrowser import browser
>;>;browser=browser()
>;>;portal_url=self.portal.absolute_url()

它允许我们在错误日志中查看所有错误消息。


>>self.portal.error\u log.\u ignored\u exceptions=()

我们将使用plonetestcase中的默认用户:


>;>from products.plonetestcase.setup import portal_owner,default_password

因为附加主题或产品可能删除或隐藏登录portlet,此测试将使用plone附带的登录表单。

>;>browser.open(portal_url+'/login_form')
>;>browser.getcontrol(name='''uu ac_name').value=portal_owner
>;>browser.getcontrol(name=''''uu ac_password').value=default_password
>;>browser.getcontrol(name='submit').click()

在这里,我们设置登录表单上字段的值,然后模拟
提交单击。然后,我们确保获得友好的登录消息:

>;>;"您现在已登录"在浏览器中。内容
true

browser.open(portal_url)

-*-这里有额外的内容-*-
新闻工具包内容类型
在本节中,我们通过执行添加等基本操作来测试新闻工具包内容类型,更新和删除新闻工具包内容
项。

我们想补充一下。在这种情况下,我们选择
"Press Kit",然后单击"Add"按钮进入"Add"窗体。

>;>browser.getcontrol("Press Kit")。click()
>;>browser.getcontrol(name="form.button.add')。click()
>;>浏览器中的"新闻工具包"。内容
true


现在我们填写表单并提交它。

>;>browser.getcontrol(name='title')。value='新闻工具包"browser.getcontrol('save').click()
>>gt;'changes saved'在浏览器中的示例'
>>>>>>。内容
正确


,我们就完成了!"我们在门户网站中添加了新的"新闻工具包"内容项。

更新现有的新闻工具包内容项
--------------------------

让我们单击"编辑"选项卡并更新对象属性值。

>;browser.getlink('edit').click()
>;>browser.getcontrol(name='title').value='new press kit sample'
>;>browser.getcontrol('save').click()

>我们检查更改是否已应用。

>;浏览器中的"更改已保存"。浏览器中的"新新闻工具包示例"内容
true
>;。如果转到主页,则内容
true


我们可以在全局导航选项卡中看到带有"new press kit
sample"标题的选项卡。在浏览器中打开(门户网站URL)
>;'new press kit sample'。内容
true

首先,我们
转到"内容"选项卡,选择"新建新闻工具包示例"进行
删除。


>;>;browser.getlink('contents').click()
>;>;browser.getcontrol('new press kit sample')。单击()

我们单击"删除"按钮。

>;browser.getcontrol('delete')。在browser.click()
>;'item(s)deleted'。contents
true

因此,如果返回主页,就不再有"new press kit
sample"选项卡。

>;browser.open(门户网站URL)
>;浏览器中的"new press kit sample"。内容
false


然后以"贡献者"身份登录,这是一个分配了
贡献者角色的门户成员。

>;>;browser.getlink('log out')。单击浏览器。打开(门户URL+'/login\u form')
>;>;browser.getcontrol(name=''acu name').value='参与者'
>;>>browser.getcontrol(name=''acu password').value=默认密码
>;>browser.getcontrol(name='提交').click()
>;>browser.open(门户网站URL)

新建内容项。

>;>browser.getlink('add new')。单击()


我们选择"Press Kit",然后单击"Add"按钮进入添加表单。

>;>browser.getcontrol('Press Kit')。单击()
>;>browser.getcontrol(name='form.button.add')。在浏览器中单击()
>;'press kit'。内容
true

browser.getcontrol('save').click()
>;>>>在浏览器中"更改已保存"。contents
true


完成!我们添加了一个以参与者身份登录的新新闻工具包内容项。

最后,让我们以管理者身份重新登录。

>;>;browser.getlink('log out').click()
>;>;browser.open(portal\'url+'/log in\'form')
>;>;browser.getcontrol(name='''uu ac\'name').value=门户网站所有者
>;>browser.getcontrol(name='''uuu ac''u password').value=default''u password
>;>browser.getcontrol(name='submit').click()
>;>browser.open(门户网站URL)





*****

david jonas,作者



下载
********

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联