APP自动化教程

APP自动化教程

一、 Appium原理与安装

1、app自动化原理
如何通过代码操作不同操作系统(ios/android)不同版本的手机终端?APP自动化教程_第1张图片
如上图我们编写自动化脚本发命令给Appium Server,然后Appium Server再把命令给Andirold SDK 工具包,Android SDK 工具包 再去操作手机或者模拟机
2、APP环境搭建
2.1 安装JDK、配置JDK环境变量,可以从网上下载 jdk-8u211-windows-x64.exe
安装好之后,还需要添加一个环境变量 JAVA_HOME ,指定 值 为 jdk安装目录,比如

2.2 安装配置 Android SDK
解压SDK并配置SDK的环境变量
(1)SDK的下载
下载地址:http://tools.android-studio.org/index.php/sdk
APP自动化教程_第2张图片
下载之后解压
APP自动化教程_第3张图片

进入D:\android-sdk_r24.4.1-windows\android-sdk-windows目录 双击SDK Manageer.exe下载响应包
以下是三个安卓工具包必须安装;只需下载最新版本就可以
APP自动化教程_第4张图片

附加设备extras
APP自动化教程_第5张图片

安卓版本:安装和模拟器的安卓版本一致。我的安卓是7.1.2系统
APP自动化教程_第6张图片

(2)配置SDK环境变更
添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 D:\android-sdk_r24.4.1-windows\android-sdk-windows[

还推荐大家配置环境变量 PATH ,加入 adb所在目录, D:\android-sdk_r24.4.1-windows\android-sdk-windows\tools
APP自动化教程_第7张图片

验证是否安装并配置成功
在dos中输入adby验证
APP自动化教程_第8张图片

2.3模拟器安装
百度夜神模拟器下载,然后下一步、下一步安装即可
A.启动设备的开发者选项,启动调试功能
设置-多处点击版本号直接出现提升{开发者选项}-返回上一步能看到开着选项-点击USB调试
B 输入命令前:因为SDK下的adb{在SDK目录下}和模拟器nox_adb版本不一致,上一需要把SDK路径下的adb.exe复制到模拟器的bin下,从命名为nox_adb.exe(替换前备份下nox_adb.ex)
2.4 Appium安装
百度Appium下载,然后下一步、下一步安装即可

2.5 安装client编程库
根据原理图, 我们知道自动化程序需要调用客户端库和 Appium Server 进行通信。
因为我们介绍Python语言开发,所以当然是用pip安装,如下
pip install appium-python-client
3、desired Capabilites_APPIUM
desired_caps = {
‘platformName’: ‘Android’, # 被测手机是安卓
‘platformVersion’: ‘7.1.2’, # 手机安卓版本
‘deviceName’: ‘xxx’, # 设备名,安卓手机可以随意填写
‘appPackage’: ‘com.xxx.xxx.beta’, # 启动APP Package名称
‘appActivity’: ‘com.xxx.xxx.activity.SplashActivity’, # 启动Activity名称
#‘unicodeKeyboard’: True, # 使用自带输入法,输入中文时填True
#‘resetKeyboard’: True, # 执行完程序恢复原来输入法
‘noReset’: True, # 不要重置App
进入启动页面
3、常用ADB命令
3.1链接模拟器
Adb connect 127.0.0.1:62001
其他模拟器:雷神5555 夜神62001 mumu755
3.2查看连接的设备
Adb devices
3.3 查看包名
(1)没有apk
如果你应用已经安装在手机上了,可以直接打开手机上该应用,进入到你要操作的界面
然后执行
adb shell dumpsys activity recents | find “intent={”
会显示如下,最近的 几个 activity 信息,

intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000300cmp=com.huawei.android.launcher/.unihome.UniHomeLauncher}
intent={flg=0x10804000 cmp=com.android.systemui/.recents.RecentsActivity bnds=[48,1378][10322746]}
intent={flg=0x10000000 cmp=com.tencent.mm/.ui.LauncherUI}
其中第一行就是当前的应用,我们特别关注最后
cmp=tv.danmaku.bili/.ui.splash.SplashActivity
应用的package名称就是 tv.danmaku.bili
应用的启动Activity就是 .ui.splash.SplashActivity
(2)有apk
如果你已经获取到了 apk,在命令行窗口执行
d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find “package: name=”
输出信息中,就有应用的package名称
package: name=‘tv.danmaku.bili’ versionCode=‘5531000’ versionName=‘5.53.1’ platformBuildVersionName=‘5.53.1’ compileSdkVersion=‘28’ compileSdkVersionCodename=‘9’
在命令行窗口执行
d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find “launchable-activity”
输出信息中,就有应用的启动Activity
launchable-activity: name=‘tv.danmaku.bili.ui.splash.SplashActivity’ label=‘’ icon=‘’

你可能感兴趣的:(自动化,android,android,studio,python)