zoukankan      html  css  js  c++  java
  • Appium自动化测试教程-自学网-adb命令

    adb命令:

    adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。

    Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。

     

    adb的工作原理:

    在客户端发送adb命令后,通过5037端口传到adb server和手机进行通信。

     

    adb常用命令:

    查看adb版本

    adb  version

    连接夜神模拟器(此处分别演示模拟器和真机连接)

    adb connect 127.0.0.1:62001

    Tips:

    夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。

      

    adb shell:

    android 设备底层是 linux 系统。 shell 是 linux 系统的字符交互界面。

    adb shell

     

    #进入指定设备shell

    adb  -s 127.0.0.1:62001 shell

     

    #退出adb shell

    exit

    进入adb shell后有两种状态显示:#代表有root权限,$代表没有root权限

    root@android:/ #

     shell@mx4:/ $

     root知识小科普

    “To err is human, but to really foul up everything, you need root password.”

    “人非圣贤孰能无过,但是拥有root密码就真的万劫不复了。”

    root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,卸载系统预装App是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在Unix、Linux及Android中,除非确实需要,一般情况下都不推荐使用root。

     

    在设备安装apk

    adb install 把apk拖到这里      回车即开始安装

    adb install | -r <apkName>       -r 覆盖原安装文件 -s 可以指定设备

    eg:

     

    #默认安装

    adb install "C:UsersShuqingDesktopAppium 自动化测试教程wandoujia.apk"

     

    #覆盖安装

    adb install -r  "C:UsersShuqingDesktopAppium 自动化测试教程wandoujia.apk"

     

    #指定设备安装

    adb  -s 127.0.0.1:62001 install  C:UsersShuqingDesktopAppiumkaoyan3.1.0.apk 自动化测试教程wandoujia.apk"

     

    卸载apk

    1.首先进入设备的/data/app目录找到app包名

    adb shell

    cd /data/app/

     

    2.执行命令删除

    adb uninstall  | -k  <apkName>  卸载软件

     

    adb uninstall  com.wandoujia.phoenix2

    Tips:安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。 软件名称为包名,不要包含.apk
    -k 加 -k 参数,为卸载软件但是保留配置和缓存文件.

     

    查看设备上面安装的应用包名

    adb shell pm list package

    文件读取写入

    将文件从PC写入到设备

    adb push <local> <remote>

    eg:

    adb push C:UsersShuqingDesktopkyb.txt /sdcard

    C:UsersShuqingDesktopkyb.txt: 1 file pushed. 0.1 MB/s (462 bytes in 0.005s)

    将文件从设备读取到PC

    adb pull <remote> <local>

    eg:

    adb pull /sdcard/server.log  C:UsersShuqingDesktop

    /sdcard/server.log: 1 file pulled. 0.0 MB/s (196 bytes in 0.004s)

    注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:

    C:UsersShuqing>adb pull /sdcard/server.log  D:\

    adb: error: cannot create file/directory 'D:\': No such file or directory

     

    屏幕截图

    $ adb shell screencap /sdcard/screen.png    截图放在sdcard中

    adb pull /sdcard/screen.png  C:UsersShuqingDesktop  读取到电脑上

    adb服务启动和关闭

    adb kill-server                        关闭adb服务

    adb start-server                      开启adb服务

    Tips:如果5037端口被占用可以使用如下命令释放端口

     

    C:UsersShuqing> netstat -ano | findstr "5037"

      TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       11072

      TCP    127.0.0.1:5037         127.0.0.1:59519        TIME_WAIT       0

     

    taskkill -f -pid XXX

     

    小结

    1. adb是自动化非常重要的一个工具
    2. 目前很多PC客户端手机助手也是基于adb连接原理进行封装的。
    3. 可以将常用的adb命令封装成bat命令,随时可以运行。如:

     .bat文件创建方法:

    创建一个nodepad文件,编码类型选择UTF-8,输入内容如:

    adbdevices.bat

    adb devices

    pause

    保存为所有类型,取名.bat

    双击运行即可。

  • 相关阅读:
    Frame内容页向Frame页传值的问题。
    Silverlight 要求使用更新版本
    Siverlight 中RichTextBox 中注入控件无法使用的问题
    PHP_判断是否为数字
    CentOS中vsftp安装与配置
    全面认识F5负载均衡
    如何让php自动进行二级域名泛解析
    【Thinkphp教程】 如何实现URL伪静态
    LVS+heartbeat+ldirectord高可用负载均衡集群解决方案
    ThinkPHP小结
  • 原文地址:https://www.cnblogs.com/lp475177107/p/11947757.html
Copyright © 2011-2022 走看看