大家都知道,要测试模拟用户在手机端安装一个APP, 首先会考虑到,在什么设备下安装,设备版本是啥,设备名称是啥,我要安装啥APP。安装完毕以后我要启动和登录APP。
那如何利用python + appium模块如何实现这波操作呢???
思路:
(1)测试环境是什么???是Android?还是iOS???此处以Android为例进行分析:
设备:Android
版本:4.4.2 (Android对应的版本)
设备名称:127.0.0.1:62001 (注意,此处是我的模拟器,如果是真机,可以在【设置】-【关于手机】-【型号】来看)
待安装的APP:手机端QQ
Appium中想要通过自编写的测试脚本来实现对模拟器/真机上的各类操作,需要appium-server来支撑它,因为appium-server可以专门实现与Android的通信,搭建一个通信桥梁。只有开启了appium-sever服务器,并且成功连接设备才能真正实现数据交互,实现通信。
前置准备:
(1)连接Android设备
(2)开启appium-server服务
启动【appium-desktop】-【start sever】即可。
如何在appium-desktop上进行APP的Capbility配置???
配置解释:
(1)platformName:设备名称
(2)platformVersion:版本
(3)deviceName:设备名称。如果是真机,则就是你的手机型号;如果是模拟器,你可以用:adb devices来获取你的设备名称(注意,前提是该设备已经连接了)。
(4)appPackage:包名。可以通过cmd命令行:appt dump badging 待安装的.apk路径。如:appt dump badging E:\XXX.apk
(5)appActivity:启动launch-Activity。可以通过命令行:appt dump badging E:\XXX.apk |findstr-launchable-activity
(6)noReset:不重置。Ture:不重置,也就是当你启动过这个APP后,如果不重置,那么他会记录一些已经做过了的一些操作。假如一个APP,你安装好了之后,首次启动它,也许它会弹出一些比如升级、或者跳过某些广告的操作。如果你的noReset=true,则下次你再次启动时,就不会再弹出这些弹窗。如果你的noRest=false,这下次启动时,仍会弹出这些弹框,就类似于手机的一个出厂设置状态一样。
在appium-desktop中可以进行Capbility进行设置,同时,你也可以自己通过脚本来进行配置。
注意:当需要在某些APP应用中的输入框中输入中文时,需要在Capbility中配置:
这样设置之后,会有Appium的输入法守护来执行输入操作。从而防止乱码的发生。
当运行这个脚本后,可以在你的模拟器或者真机上观察到QQ的安装和启动。