本文接《Appium自动化测试(本文基于Java的io.appium.java_client实现)》。
前提
当APP数据传输无法通过Fiddler、Charles等拦截工具进行拦截时,整个采集流程就需完全基于移动端进行。输入的是用户APP数据所在页面的操作,输出的是当前页面渲染后的网页源码。(类似于Selenium)
Appium为采集提供了方便,如下图,左侧是移动端展示的页面,中间是当前页面渲染后的网页源码,右边是点击页面时实时生成的解析规则。(生成的解析规则可直接用于采集代码)
部署时遇到的问题
完全基于移动端进行采集时,需要将手机通过USB连接至电脑。如果默认为充电模式,则长期运行时,手机会因为过充而鼓包甚至起火爆炸。不充电的话,手机会在运行一段时间后自动关机,需要人工切回充电模式;尤其是在节假日期间,人工维护特别麻烦。
可行的部署方案
设备
用于采集的电脑和手机
USB分线器3.0(可外接电源)
定时插座
部署方式
USB分线器未接电源时,仅可传输数据,不充电;接入电源后,既可传输数据,又可充电。基于USB分线器的这一功能特性,再外接一个定时插座,即可避免手机过充的情况,从而达到安全稳定的自动化。实际部署图如下图所示:
软件相关设置
定时插座通过“小京鱼”APP设置定时。定时设置页面如下图所示: