PageObject六大原则:
1.封装服务的方法
2.不要暴露页面的细节
3.通过return跳转到其他页面
4.Gene’rally不要写断言,写在具体用例里
5.不要封装所有的服务
6.相同的动作导致的不同结果需要写不同的方法
简介:
为UI页面写测试用例时(比如web页面,移动端页面),测试用例会存在大量元素和操作细节。
当UI发生变化时,测试用例也会跟着变化,PageObject很好的解决了这个问题!
使用UI自动化测试工具时(包括selenium,appium等),如果无统一模式进行规范,随着用例的增加会变得越来越难以维护
而PageObject让自动化脚本井井有序,将page大度维护并封装细节,可以使testcase更文件,不需要大量的改动
使用:
具体做法:把元素信息和操作细节封装到Page类中,在测试用例上调用Page对象
比如存在一个功能"选取文章标题",需要为之建立函数selectArticleWithTitle(),函数内部是操作细节findElementsWithClass(‘article’)等;
PageObject的主要原则是提供一个简单的接口(或者函数),让调用者在页面上可以做任何的操作,点击页面元素,在输入框输入内容等待。
因此,如果要访问一个文本字段,page object应该有获取和返回字符串的方法。page object应该封装对数据的操作细节,比如查找元素和点击元素。
当页面改动时,应该只改变page类中的内容,不需改变调用它的地方。
不需要为每隔UI页面都创建page类,应该只为页面中重要的元素创建page类