Martin Fowler对将page对象用于Web测试的基本经验法则 - 其它 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > OOP语言 > 其它 > 正文

Martin Fowler对将page对象用于Web测试的基本经验法则

来源: www.bianceng.cn 阅读:

本文源自Martin Fowler,文章最初由ThoughtWorks工程师黄博文翻译在自己的博客上,并由译者本人推荐至InfoQ中文站博文共赏专栏。本译文在Martin Fowler本人的许可下,由InfoQ中文站进行修订后,在这里给大家分享。

当你在为Web页面编写测试时,你需要操作该Web页面上的元素来点击链接或验证显示的内容。然而,如果你在测试代码中直接操作HTML元素,那么你的代码是及其脆弱的,因为UI会经常变动。一个page对象可以封装一个HTML页面或部分页面,你可以通过提供的应用程序特定的API来操作页面元素,而不需要在HTML中四处搜寻。

\

page对象的一个基本经验法则是,凡是人类能做的事,page对象通过软件客户端都能够做到。它也应当提供一个易于编程的接口并隐藏窗口中低层的部件。所以访问一个文本框应该通过一个访问方法(accessor method)来实现字符串的获取与返回,复选框应当使用布尔值,按钮应当被表示为行为导向的方法名。page对象应当将在GUI控件上所有查询和操作数据的行为封装为方法。一个好的经验法则是,即使改变具体的控制,page对象的接口也不应当发生变化。

尽管该术语是”页面“对象,并不意味着针对每个页面建立一个这样的对象,比如页面有重要意义的元素可以独立为一个page对象[1]。所以,一个显示多个相册的页面可以有一个相册列表的page对象,该对象包含了几个相册page对象。也有可能会有一个页眉page对象及一个页脚page对象。也就是说,如果某些复杂UI的层次结构只是用来组织UI,那么它就不应当与page对象扯上关系。经验法则的目的在于通过给页面建模,从而对应用程序的使用者变得有意义。

查看本栏目更多精彩内容:http://www.bianceng.cn/Programming/extra/

Tags:
相关文章列表: