appium自动化测试框架搭建思路及技术点

使用分层框架设计思想,利用python+appium+unittest搭建app端自动化测试框架

实现过程:

一、首先实现自动启动appium服务并指定端口号设备信息
1.封装两个dos命令行的使用方法,用于使用dos命令执行启动服务,已经动态信息的获取
2.使用dos命令生成端口号列表,设备信息列表,合成命令行列表,再用无返回值的dos命令执行命令行实现appium服务的自动启动
3.启动appium server封入公共方法层
二、服务启动后,我们进行基础驱动封装(basedriver),我们的设备即可被driver启动,通过启动项配置信息,启动医脉通app
三、封装数据层,config文件,不同的数据类型通过不同的存储方式来,例如驱动数据中的动态数据,例如端口号,udid等使用yaml封装,元素定位方法及其值通过excel封装,不长更变的设备信息appPackage等信息,通过ini来存储数据
四、数据池完成后,那么如何去调用数据池呢,那就是在公共方法层(utils)封装好我们的针对不同数据存储类型的方法,例如针对yaml文件类型处理方法,写入方法,读取方法,数据量计算方法,清空方法等,还需要封装常用的api,app的刷新,返回,获取cookies,滑动等操作,以及断言方法,触发断言后截图在报告层中的img目录下,还有非常重要的定位方法。
五、用例层使用po设计,将页面当成对象,页面元素进行封装,
第一层:page层,将所有的页面元素进行封装成带个组件,并做好异常处理机制
第二层:headle层,针对页面元素的操作进行封装处理
第三层:busniess层,将操作组装成业务,实现业务与脚本分离
引入unittest单元测试框架,将用例引入单元测试框架
六、套件层封装
用于定制回归策略
使用多进程实现多并发兼容测试
七、报告层封装,分为报告,异常截图
分为存储报告目录
报错异常截图

实现效果:数据分离 —降低维护成本
公共方法分离 —解决冗余用例
用例分离(po设计) —提高代码易维护性及可读性
测试套分离 —定制回归策略
测试报告分离 —整理测试结果
Bug错误截图
自动生成测试报告

测试中遇到的技术难点及解决办法

1、如何在app自动化中自动启动appium server?
答:通过dos命令对appium启动的方式实现
Appium -p port -bp bootstrap_port -U device
python中封装dos命令的使用方法
获取可用端口号列表
获取设备udid
拼接command
Dos执行command

2、自动化过程中,如何有效的提高脚本的可读性与易维护性?
答:数据分离,po设计,对页面元素进行封装

3、如何实现appium多设备并发,且脚本稳定,不会发生数据混乱?
开启多进程,每个设备执行脚本单个分配进程

4、单脚本跑多设备时,如何保证每个进程执行对应的设备驱动?
重写unittest框架中runtest方法增加参数i,修改为新的类
单元测试时集成这个重写后的类,传入参数i,与进程对应

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值