b-open at内容类型用于plone

bopen.atcontenttypes的Python项目详细描述


*********************************
b-在plone的内容类型处打开内容:

-主页:http://www.bopen.eu/open-source/bopen.atcontenttypes
-代码存储库:http://github.com/bopen/bopen.atcontenttypes



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

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

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

>>正在测试和调试TestBrowser测试。它允许我们在错误日志中查看所有错误消息。


>>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='''u ac_name').value=portal_owner
>;>browser.getcontrol(name='''''u ac_password').value=default_password
>;>browser.getcontrol(name='submit').click()

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

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

在这里-*-


RichFolder内容类型
==


在本节中,我们通过执行添加、更新和删除RichFolder内容
项等基本操作来测试RichFolder内容类型。


------------


我们使用"添加新内容"菜单添加新的内容项。

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

在这种情况下,我们选择
"richfolder",然后单击"添加"按钮进入添加表单。

>;>;browser.getcontrol('richfolder')。单击浏览器中的
>;>;browser.getcontrol(name='form.button.add')。单击浏览器中的
>;'richfolder'。内容
true

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

>;>browser.getcontrol(name='title').value='richfolder sample'
>;>browser.getcontrol('save').click()
>;'changes saved'在浏览器中。内容
true

我们完成了!我们向门户添加了一个新的"richfolder"内容项。

更新现有的richfolder内容项单击"编辑"选项卡并更新对象属性值。

>;>;browser.getlink('edit')。click()
>;>;browser.getcontrol(name='title')。value='新建richfolder示例'
>;>;browser.getcontrol('save')。click()

已应用。

>;>;"已保存的更改"在浏览器中。内容
true
>;'new richfolder sample'在浏览器中。内容
true

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

首先,我们
转到"内容"选项卡并选择"新建RichFolder示例"进行
删除。


>;>;browser.getLink('contents').click()
>;>;browser.getControl('new RichFolder示例')。单击()

我们单击"删除"按钮。

>;browser.getcontrol('delete')。在浏览器中单击()
>;'item(s)deleted'。内容
true

so,如果返回主页,将不再有"new richfolder
sample"选项卡。

>;>;浏览器。打开(门户网站URL)
>;'new richfolder sample'在浏览器中。内容
false


"参与者",分配了
参与者角色的门户成员。

>;>;browser.getlink("注销").click()
>;>;>;browser.open(门户URL+"/登录表单")
>;>;browser.getcontrol(name='''uu ac\'name').value='参与者'
>;>;browser.getcontrol(name=''uu ac_password').value=默认的_password
>;>browser.getcontrol(name='submit').click()
>;>browser.open(portal_url)


我们使用"添加新内容"菜单添加新内容项。

>;browser.getlink('add new').click()

我们选择"richfolder"并单击"添加"按钮以进入添加表单。

>;>;browser.getcontrol("richfolder")。单击浏览器中的"
>">;>;browser.getcontrol(name="form.button.add")。单击浏览器中的"
>">;"richfolder"。内容
true

no我们填写表格并提交。

>;>browser.getcontrol(name='title').value='richfolder sample'
>;>browser.getcontrol('save').click()
>;'changes saved'在浏览器中。内容
true

我们添加了一个新的richfolder内容项,作为参与者登录。

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

>;>;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=默认密码
>;>browser.getcontrol(name='submit')。单击()
>;>browser.open(门户URL)

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

推荐PyPI第三方库


热门话题
Java NIO选择器最多只能选择50个SelectionKeys?   java阻止ImageButton创建新活动   为什么Java方法“Arrays.copyOf”处理中的整数数组与处理对象数组时的行为不同   java将安卓 1.6日历字段提取到vcal   将字符串转换为双精度后的java问题   java使用Webflux,是否可以使用AOP获取用于日志记录的ServerHttpRequest   java与jTextArea的基本区别是什么。setText()和jTextArea。append()方法?   java程序执行时间|将值保存到文件或数据结构?   java如何将表示字符的整数转换为字符串?   Java LWJGL新的渲染问题windows   java GUI提供异常   java创建第二个对象使类的函数不再工作   如何在java中将000验证为3位数字?   java bigO算法的时间复杂度,可以在不重复的情况下找到最长的子串   在30像素内点击按钮后,java在两个图像之间转换   java eclipse maven nexus不可解父pom   当存在其他SecurityConstraint时,java TransportGuary机密将被忽略   重新连接后激发的java Red5客户端流断开事件   javafx聊天应用程序中连接客户端的java问题