APP自动化一

  • Post author:
  • Post category:其他




1、Appium简介

是一个开源的、跨平台的测试工具,测试移动端的应用。

支持IOS、Android

使用Webdriver的jsonWire协议、驱动IOS系统的UIAutoMation库、Andriod UIAutomator框架。

官网地址:http://appium.io



2、APP自动化环境的搭建



2.1安装java环境



2.2安装Android SDK

下载 https://www.androiddevtools.cn/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



platform-tools和tools里面都是命令相关的 下一步配置变量

在这里插入图片描述



检查sdk安装是否成功
adb --version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as D:\yangxu\download\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe



2.3安装Appium



2.3.1桌面版

appium desktop

下载地址:https://github.com/appium/appium-desktop/releases

在这里插入图片描述

下载完桌面就出现快捷图标

在这里插入图片描述

如果appium启动不了的话就是前面的配置有问题



2.3.2命令行——后续更新

通过node去安装

npm -v

node -v

npm install appium -g

appuim 启动服务



2.4安装模拟器

如果没有安卓设备的时候可以用模拟机来代替

以雷电模拟器为例,百度雷电,下载安装即可。

https://www.ldmnq.com/

安装好之后会有报错或者很慢的时候、会有提示 根据提示往下操作就可以。



3、adb使用



3.1 adb介绍

android debug bridge,android sdk自带的一个工具。

只要sdk装好了,adb就相当于装好了

连接android设备和pc端的桥梁,用户通过在pc端通过adb对手机进行一系列的操作。

adb的三大组件:

1、pc客户端 2、pc服务端 3、手机守护进程

在这里插入图片描述

在这里插入图片描述



3.2 adb常见命令

adb –help

adb devices 查看连接到pc的设备

adb connect 连接设备 连接模拟器

夜神:adb connect 127.0.0.1:62001

mumu: adb connect 127.0.0.1:7555

一般情况下是用usb数据线连接 手机和pc端

usb的插上数据线自动就连接上了


真机连接:

usb和pc连接
打开开发者模式,不同手机稍微不同,打开设置-》关于手机-》连续点击五次版本号
打开usb调试模式
检查adb devices-----在cmd执行

**adb shell** 登录设备,每一个设备,就有一个操作系统,linux
adb install *.apk 可以通过安装包安装应用
adb install -r *.apk 重新安装、保留缓存数据
**安装包路径中不能有中文**

adb shell dumpsys activity | find "mFocusedActivity"
查看当前应用的包名和类名(一个页面的表示)
android 8.0以下有用

adb shell dumpsys activity | find "mResumedActivity"
同上,8.0以上起作用

adb uninstall <包名>
卸载某个应用

adb uninstall -k <包名>
卸载应用但是保留数据和缓存文件,-k为了保留数据和缓存文件

adb kill-server
终止adb服务

adb start-server
启动adb服务,当adb出现问题时,结合kill-server

**adb shell pm list packages**
列出当前系统所以的包名
-f 还会列出路径

adb logcat
获取android系统日志

在这里插入图片描述

在这里插入图片描述



3.3 adb常见问题及解决方案

1.设备连接不上

真机的驱动程序是否安装

在这里插入图片描述

2.多设备不能同时执行adb shell

只保留一台设备

adb -s 指定对应设备名

先adb devices 再adb -s 选一个devices出来的设备名

3.adb端口占用

比如:查看5037端口,干掉对应的程序

C:\Users\18640>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
emulator-5554   offline


C:\Users\18640>netstat -ano | findstr "5037"
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       14320
  TCP    127.0.0.1:5037         127.0.0.1:49353        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:63997        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:63998        TIME_WAIT       0

C:\Users\18640>taskkill -f -pid 14320
成功: 已终止 PID 为 14320 的进程。

C:\Users\18640>

4.adb版本不匹配

使用sdk里的adb覆盖模拟器中的adb即可

模拟器的adb版本是31,但是sdk的版本是41,dab devices这样启动运行的时候报错



4、Appium Desktop



4.1界面介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



4.2检查器会话


DesiredCapabilities


负责启动服务端时的参数设置

Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情,比如:

本次测试是启动浏览器还是启动移动设备?

是启动andorid还是启动ios?

启动android时,app的package是什么?

启动android时,app的activity是什么?

一般只需要填写四个基础配置即可:

1、deviceName: 设备的名字,其实这个值可以任意设置,一般会天device的值

2、platformName: 平台名 android ios

3、appPackage: 应用的包名

aapt dump badging apk包路径

结果的第一行就有包名

在这里插入图片描述

4、appActivity: 入口Activity,通过这个属性,开启app

通过上面的命令结果搜索launchable-activity

在这里插入图片描述



4.2.1 输入到appuim中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



4.2.2如果启动时报错是因为ANDROID_HOME环境变量没有配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为weixin_36912391原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。