显示在线店面

wwp.shopfronts的Python项目详细描述


…内容:

…音符!
----
更新以下URL以指向您的:

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


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

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




更改历史记录r/>==


0.3(xx xx xx xx)
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————===


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

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

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

>>>;来自products.five.testbrowser导入浏览器
在编写和调试testbrowser测试时,以下内容非常有用。它允许我们在错误日志中查看所有错误消息。


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

我们将使用plonetestcase的默认用户


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

>;>;浏览器。打开(portal_url)

让我们使用它。

>;>;browser.getcontrol(name='''uu ac''u name').value=portal''u owner
>;>;browser.getcontrol(name='''uu ac''u password').value=default''u password
>;>;browser.getcontrol(name='submit').click()

,我们在登录表单上设置字段的值,然后模拟
提交单击。

我们收到友好的登录消息:

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


-*-这里有额外的内容-*-
街景内容类型
==/>
在本节中,我们通过执行添加、更新和删除街景内容等基本操作来测试街景内容类型
项目。

---————

在这种情况下,我们选择
"街景",然后单击"添加"按钮进入"添加"窗体。

>;>;browser.getcontrol("街景")。单击b中的browser.getcontrol(name="form.button.add').click()
>;"街景"rowser.contents
true

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

>;browser.getcontrol(name='title')。value='street\u view sample'
>;>;browser.getcontrol('save')。click()
>;'changes saved'在b中rowser.contents
true

我们完成了!我们在门户网站中添加了一个新的"街景"内容项。

更新现有的街景内容项>;>>browser.getlink('edit').click()
>;>>browser.getcontrol(name='title').value='new street\view sample'
>;>>browser.getcontrol('save').click()

我们检查是否应用了更改。

>;浏览器中的"已保存的更改"。浏览器中的"新建街道视图示例"内容
true
>;。如果转到主页,则内容



e,我们可以在全局导航选项卡中看到一个标题为"new street\u view
sample"的选项卡。

>;>browser.open(portal\u url)
>;>browser中的"new street\u view sample"。contents
true

删除"new street\u view sample"对象。首先,我们
转到"内容"选项卡,选择"新建街道视图示例"进行
删除。


>;>;browser.getlink('contents').click()
>;>;browser.getcontrol('new street\u view sample').click()

"删除"按钮。

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

所以,如果我们回到主页,就不再有"new street\u view
sample"选项卡。

>;>;浏览器。在浏览器中打开(门户网站URL)
>;>;"新建街道视图示例"。内容
false


不仅允许站点管理员添加街景内容项,而且还允许站点贡献者添加街景内容项。


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

>;。>;browser.getlink('注销').click()
>;>browser.open(portal_url)
>;>browser.getcontrol(name='''uu ac_name').value='contributor'
>;>browser.getcontrol(name='''''uu ac_password').value=default_password
>;>browser.getcontrol(name='submit')。click()
>;>browser.open(portal_url)


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

>;browser.getlink("添加新内容")。click()

d'按钮进入添加表单。

>>>gt;browser.getcontrol('street\u view')。click()
>>>gt;browser.getcontrol(name='form.button.add')。click()
>>>gt;'street\u view'在浏览器中。contents
true

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

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


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

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

>;>;browser.getlink('log out')。单击()
>;>;浏览器。打开(门户URL)
>;>;浏览器。getcontrol(name='''uu ac'.value=portal'.owner
>>>browser.getcontrol(name='''u ac_password').value=default_password
>>>browser.getcontrol(name='submit').click()
>>>>browser.open(portal_url)



shop_front content type
=通过执行添加、更新和删除店面内容
项目等基本操作来重新测试店面内容类型。


添加新的店面内容项目

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

然后选择要添加的项目类型。在这种情况下,我们选择
"Shop撸front",然后单击"Add"按钮进入"Add"窗体。

>;>;browser.getcontrol("Shop撸front")。单击浏览器.getcontrol(name="form.button.add")。在浏览器中单击()
>;"Shop撸front"。内容
true

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

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

我们在门户中添加了一个新的"店面"内容项。

更新现有的店面内容项>;>>browser.getcontrol(name='title').value='新店铺前台示例'
>;>>browser.getcontrol('save').click()


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

>;'已在浏览器中保存更改'。内容
true
>;'新店铺前台示例'在浏览器中。内容
true


删除店铺前台内容项
rtal_url)
>;>>浏览器中的"new shop_front sample"。contents
true

现在我们要删除"new shop_front sample"对象。首先,我们
转到"内容"选项卡,选择"新建店铺前台示例"进行
删除。


>;>;browser.getlink('contents').click()
>;>;browser.getcontrol("新建店铺前台示例")。单击()

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

因此,如果返回主页,将不再有"new shop\u front
sample"选项卡。

>;>;浏览器。打开(门户网站URL)
>>>>在浏览器中显示"New Shop_Front Sample"。内容
false


项目,但
也包括网站贡献者。

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

>;>;browser.getlink("注销")。单击()
>;>;browser.open(portal_url)
>;>browser.getcontrol(name=''uu ac_name').value='contributor'
>;>browser.getcontrol(name=''uu ac_password').value=默认的_密码
>;>browser.getcontrol(name='submit').click()
>;>browser.open(portal_u url)

.getcontrol('shop_front')。click()
>>gt;browser.getcontrol(name='form.button.add')。click()
>>gt;'shop戋front'在browser.contents
true

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

>;browser.getcontrol(name='title').value='shop_front sample'
>;>>browser.getcontrol('save').click()
>;>>在浏览器中保存的更改。contents
true

我们添加了一个新的店铺前台内容项目,作为参与者登录。

=''uu ac_name').value=portal_owner
>;>>浏览器.getcontrol(name=''uu ac_password').value=default_password
>;>>浏览器.getcontrol(name='submit').click()
>;>>浏览器.打开(portal_url)






投稿人
********


peter dyson,作者




********

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

推荐PyPI第三方库


热门话题
java同步块与私有不可变对象和同步方法的差异   OracleDataSource、OracleUCP、Commons DBCP和Tomcat连接池之间的java差异?   java在文本文件中写入对象   java访问web服务   如何用java代码并行读取拼花地板文件   spring是否可以将运行时未知的Avro消息转换为特定的Java类   具有复杂对象的java Spring数据MongoDB addToSet()   java ArrayList是否删除元素,是否向下移动列表?   Vaadin中按钮的java多行标题不起作用   java为什么要使用@PropertySource而不是PropertyPlaceHolderConfigure?   java如何检查网站链接是否有数据(图片)或网站是否无效?   java如何禁用对jsp页面的直接访问?   用java实现matlab递归文件夹读取。伊奥。文件   为什么是java。伊奥。FileDescriptor的构造函数是公共的吗?   在java中关闭扫描程序时无法访问的代码?   搜索Java模拟退火接受概率