利用python+Appium 之 如何在设备(模拟器)上自动安装并启动APP

大家都知道,要测试模拟用户在手机端安装一个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的安装和启动。

原文地址:https://www.cnblogs.com/xqq-admin-content/p/10061547.html