wordpress link,南昌seo网站建设,wordpress 主题演示文件 导入,信息网络设计为 UI 页面写测试用例时#xff08;比如 web 页面#xff0c;移动端页面#xff09;#xff0c;测试用例会存在大量元素和操作细节。当 UI 变化时#xff0c;测试用例也要跟着变化#xff0c; PageObject 很好的解决了这个问题。
使用 UI 自动化测试工具时#xff08;包…
为 UI 页面写测试用例时比如 web 页面移动端页面测试用例会存在大量元素和操作细节。当 UI 变化时测试用例也要跟着变化 PageObject 很好的解决了这个问题。
使用 UI 自动化测试工具时包括 seleniumappium 等如果无统一模式进行规范随着用例的增多会变得难以维护而 PageObject 让自动化脚本井然有序将 page 单独维护并封装细节可以使 testcase 更稳健不需要太多改动。
使用
具体做法把元素信息和操作细节封装到 Page 类中在测试用例上调用 Page 对象PageObject比如存在一个功能“选取相册标题”需要为之建立函数selectAblumWithTitle()函数内部是操作细节findElementsWithClass(album)等 以选“取相册标题”举例伪代码如下
selectAblumWithTitle() {#选取相册findElementsWithClass(album)#选取相册标题findElementsWithClass(title-field)#返回标题内容return getText()}
PageObject 的主要原则是提供一个简单接口 (或者函数比如上述的selectAblumWithTitle)让调用者在页面上可以做任何操作点击页面元素在输入框输入内容等。因此如果要访问一个文本字段PageObject 应该有获取和返回字符串的方法。PageObject 应该封装对数据的操作细节比如查找元素和点击元素。当页面元素改动时应该只改变 page 类中的内容不需要改变调用它的地方。
不要为每个 UI 页面都创建一个 page 类应该只为页面中重要的元素创建 page 类。比如一个页面显示多个相册应该创建一个相册列表 PageObject它包含许多相册 PageObject。如果某些复杂 UI 的层次结构只是用来组织 UI那么它就不应该出现在 PageObject 中。PageObject 的目的是通过给页面建模从而对应用程序的使用者变得有意义 跳转到另一个页面初始 page 对象应当 return 另一个 page 对象比如点击注册进入注册页面在代码中就应该 return Register()。如果想获取页面信息可以 return 基本类型(字符串、日期)。
建议不要在 PageObject 中放断言。应该去测 PageObject而不是让 PageObject 自己测自己PageObject 的责任是提供页面的状态信息。这里仅用 HTML 描述 PageObject这种模式还可以用来隐藏 Java swing UI 细节它可用于所有 UI 框架。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你