最近遇到一个问题,初期写好的脚本测试没有问题,回归测试 开发修改了元素的id名字或者class的名字,导致测试脚本中相关的地方都需要修改,如果是一个测试用例中遇到名字变更,修改还不是很麻烦,如果这个元素在其他页面也使用了,修改起来太麻烦了。我就在网上看看 大家有没有好的解决方案可以更好的解决这个问题。
网上一查大家都推荐使用page object,按照我的理解就是:
按页面划分为一个类,页面上的重要元素作为对象,通过方法返回该元素。
例子如下:
1>下图为一个登录页面
定义 登录页面的手机号文本框,密码文本框,登录按钮 ,代码如下:
2>下图为登陆成功之后的跳转页面,可作为登陆成功的校验点,同时这个元素在很多地方需要用到:
封装为一个类,对蓝色位置的元素进行定义,代码如下:
3> 对登录页面进行自动化测试脚本研发:
封装BaseCase类,其他testcase继承BaseCase
每一个testcase继承BaseCase,登陆测试代码如下:
所有元素都定义在page的class中,通过实例化pageClass取出相关的页面元素,当UI页面的元素名字发生变化,只需要修改page页面的Class相对应的代码。