提升之路--从0开始学app自动化(6)--po模式&框架应用

PO模式(组件化)

跟web的Po模式有所不同的是,app自动化不需要以界面面为单位,而是把页面内所有相关操作进行封装,如果一个界面内还有一些简单的组件,也只需要封装到该界面的po页面中

进入用户页面(导航栏)

这个操作出现在导航栏,所以可以封装到menupage中,我们也可以把导航栏的各种操作都封装到这里,之后从导航栏操作进入的页面都能继承这个类,以后导航栏的属性改变了只需要维护导航栏

用户页面

通过导航栏操作进入用户界面后,用户界面有各种相关的操作,可以封装在userpage中,然后继承manupage,当我们需要对userpage进行操作的时候,就能直接使用menupage里的方法

因为menupage继承了nativepage,所以在userpage中也能使用nativepage的方法

 

进入登录页面

点击头像之后进入登录页面,这个页面就没有导航栏,所以不需要继承menupage,把登录页面的操作封装到loginpage中

 

初始化页面

在登录的操作中,需要用的user_page和login_page两个页面,所以要初始化2个对象,这步操作可以在夹具中完成

 测试用例编写

 

扩展:

异常用例使用的方法

在web自动化测试过程中,我们可以用po模式或者关键字驱动去执行正常用例,而异常用例可以用数据驱动,因为逻辑相同,数据不同

在app自动化测试过程中,异常用例如果使用数据驱动,就要每执行一个用例就要打开一次app,使得测试过程花费很多时间,所以我们也可以使用关键字驱动,因为如登录失败这种异常用例,每次输入数据之后页面都不会跳转,所以可以执行多次输入操作,然后断言每次的弹框,从而减少打开和关闭app所需的时间

要实现这个方法,首先要知道,关键字驱动只是一个自动化测试用例代码,在用例中循环yaml数据,不像数据驱动,有多少条用例就执行多少次自动化测试用例代码,而且如果数据驱动中有用例报错,也会自动执行下一条用例,直到全部用例执行完成. 关键字驱动中,如果有某一条用例或者方法出错,自动化测试就会停止

为了防止关键字驱动中用例报错而停止程序,我们要使用try..except捕获异常,并且要打印异常信息,让我们知道是哪条用例报错,报错用例中哪个方法出现错误,思路如下:

-首先要在关键字驱动的测试数据中,每条操作都要添加一行数据,代表当前操作的方法属于第几条用例

 -自动化测试用例代码中,添加一行代码,获取当前使用的方法属于第几条用例,同时要捕获错误而且捕获后不抛出异常,才能防止程序中断,然后打印错误信息

 

-因为捕获异常后,程序不会报错,这样我们在查看测试报告或者持续集成的时候就不能判断是否有错,要查看详细信息才知道有没有错误信息,所以自动化代码运行完成的时候要主动抛出错误.思路如下:

如果捕获到了错误信息,我们就把错误信息添加到一个空列表中

程序执行完后,如果列表有数据,就代表当中有用例报错,要主动抛出异常

 

app自动化测试关键字驱动完整流程

 

 在app自动化测试中,为了减少app开启所需的时间,在异常用例中可以使用关键字驱动.web自动化测试也能使用,但是web自动化测试中因为打开浏览器速度较快,所以异常用例使用数据驱动更能准确定位报错用例的位置还有错误信息

存在依赖的用例(题库用例)

进入题库首先要登录,才能进去题库,在Ui自动化测试中,最好是独立的用例,不要存在依赖.比如把登录这个操作作为夹具,这样维护起来比较费力,也不能进行多并发

-判断是否已经登录

通过导航栏进入题库界面,根据是否出现登录按钮判断,如果有,则进入登录页面登录

 如果没有,什么都不做,之后开始选择题库

 

题库的po页面

-选择题库,根据题库的text属性

 -选择难度,根据text属性

-选择试卷,根据text属性

 

 以上3个步骤可以结合成一个步骤

-获取当前标题序号

先获取标题的text文本,然后根据/分割字符串,得到列表的第一个元素就是我们需要的题目

 

-滑动页面,选择题目

我们做题的时候可能做到某一题就退出了,这时候要是重新进入试卷,题目停留的位置是上次做的题目,所以要滑动到相应的题目,就要加上判断,思路如下:

首先获取当前题目是第几题,如果我们所选的题目比当前题目数字大,就向左滑动,滑动次数等于所选题目-当前题目

如果所选题目比当前题目数字小,就向右滑动,滑动次数等于当前题目-所选题目

如果所选题目就是当前题目,也就是两个数字相等,则不需要操作

 

 -断言标题是否正确

 

-点击显示答案,断言是否有答案,文本长度是否大于1,或者不等于空

assert answer != “”

 

完整流程

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值