Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >appium教程_4.adb常用命令

appium教程_4.adb常用命令

作者头像
千往
发布于 2020-10-10 07:50:13
发布于 2020-10-10 07:50:13
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

appium教程_4.adb常用命令

前言

pc端跟安卓设备的联系,可以通过adb命令来获取设备上信息和执行操作

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

一些理论/原理的可以查看官方文档: https://developer.android.com/studio/command-line/adb?hl=zh-cn 我们可以通过adb工具来获取安卓设备信息和执行一些命令

常用命令

用python记性了简单的封装,简单看下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb devices -- 查看已经连接到adb服务器的设备

获取当前应用包名和activity

adb_cmd = **'adb -s %s shell dumpsys window | grep mCurrentFocus' **% self.udid

获取设备语言

cmd = **'adb -s %s shell getprop persist.sys.locale' **% (self.udid)

判断是否安装了某个应用

adb_cmd = **'adb -s %s shell pm list packages | grep "%s"' **% (self.udid, app_id)

通过包名打开某个应用

adb_cmd = **'adb -s %s shell monkey -p %s -c android.intent.category.LAUNCHER 1' **% (self.udid, package_name)

关掉某个应用

adb_cmd = **'adb -s %s shell am force-stop %s' **% (self.udid, package_name)

通过坐标点击屏幕

adb_cmd = **'adb -s %s shell input tap %d %d ' **% (self.udid, x, y)

简单monkey测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 通过monkey工具随机模拟事件
    # 该方法是50%的点击事件,50%的拖动事件,总计50次事件,每次事件间隔500毫秒
    # 更多参数请参考:https://developer.android.com/studio/test/monkey
    def monkey_app(self, package_name):

        self.log.info("开始monkey测试")
        self.close_app(package_name)

        time.sleep(5)

        adb_cmd = 'adb -s %s shell monkey -p %s --throttle 500 --ignore-crashes --ignore-timeouts --pct-touch 50 --pct-motion 50 -v 50' % (
            self.udid, package_name)

        cmd_result = SubProcess(adb_cmd).execute_cmd_v2()
        time.sleep(5)
        self.log.info("结束monkey测试")

切换设备语言

之前自动化测试时通过点击设置--语言这些动作来达到切换语言的目的,有个比较稳定的切换方式,通过ADL 应用来切换,应用在Google play市场(https://play.google.com/store/apps/details?id=net.sanapeli.adbchangelanguage)可以下载,国内的话(ADB Change Language)自行百度下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1. 安装ADL apk
# 2. 设置权限 adb shell pm grant net.sanapeli.adbchangelanguage android.permission.CHANGE_CONFIGURATION
# 3. 执行命令切换语言 zh-CN,ja-JP,ko-KR,en-US

LANGUAGE_COUNTRY_MAP = {
    "CN": "zh-rCN",
    "JP": "ja-rJP",
    "KR": "ko-rKR",
    "US": "en-rUS",
    "RU": "ru-rRU",
    "HK": "zh-rHK",
    "UK": "en-rUK",
    "TW": "zh-rTW",
    "CA": "en-rCA",
    "ID": "id-rID"
}

    def change_language(self, language):
        """
        :param udid:
        :param language:
        :return:
        """
        cmd = 'adb -s %s shell am start -n net.sanapeli.adbchangelanguage/.AdbChangeLanguage -e language %s' % (
            self.udid, language)
        result = SubProcess(cmd).execute_cmd_v2()
        if result is not None:
            time.sleep(5)
            self.log.info("切换语言(%s)成功" % language)
        else:
            self.log.info("切换语言(%s)失败" % language)
            
    def change_language_by_country(self, country):
        """
        :param country:
        :return:
        """
        self.change_language(LANGUAGE_COUNTRY_MAP.get(country, 'en-rUS'))

这样切的速度快,而且稳定

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
adb使用及常用命令
adb全称为 Android Debug Bridge(Android调试桥),是 Android SDK 中提供的用于管理Android 模拟器或真机的工具。
漫谈测试
2025/01/06
1160
adb使用及常用命令
adb 常用命令
参考 https://developer.android.google.cn/studio/command-line/adb
崔哥
2022/05/24
7960
ADB常用命令整理(全网最全)
调试Android程序时,我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写,它充当调试桥梁的作用,就像一条连接开发机和设备之间的桥梁。
天天Lotay
2023/10/15
13.5K0
Appium+python自动化(十六)- ADB命令,知否知否,应是必知必会(超详解)
  Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。
北京-宏哥
2019/07/10
2.1K0
Appium+python自动化(十六)- ADB命令,知否知否,应是必知必会(超详解)
速看,APP测试之ADB最全指南!
ADB全称Android Debug Bridge, 是android sdk里的一个工具,目的是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),是客户端测试常用的辅助工具。
可可的测试小栈
2019/10/17
1.7K0
Monkey稳定性测试初探(二)
稳定性测试,是在一定压力的情况下,对系统或某个模块持续进行长时间的操作(一般遵循7*24小时原则),系统没有出现业务问题、业务异常、内存泄露溢出等性能问题,保证了系统的稳定性,说明稳定性测试是通过的。稳定性测试一般在业务测试、性能测试完成后再进行。
王大力测试进阶之路
2022/03/14
1.4K0
Monkey稳定性测试初探(二)
安卓测试常用的 ADB 命令
    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  4.从Android仿真器中回传文件到电脑 
测试之道
2021/03/04
5.2K0
Android自动化测试工具——Monkey
最近开始研究Android自动化测试方法,整理了一些工具、方法和框架,其中包括android测试框架,CTS、Monkey、Monkeyrunner、benchmark,以及其它test tool等等。
阳光岛主
2019/02/19
1.8K0
ADB常用命令及其用法大全「建议收藏」
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。 注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。
全栈程序员站长
2022/08/12
5.5K0
ADB常用命令及其用法大全「建议收藏」
『移动端测试必备』ADB常用命令和使用
虫无涯
2023/11/28
6830
Android自动化之-ADB与ADB shell常用命令
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。
十四君
2019/11/23
5.9K1
adb 常用命令解析
adb shell dumpsys activity activities | grep mFocusedActivity
测试开发社区
2022/11/16
1.7K0
Monkey测试1——Monkey的使用
1 Monkey工具使用 2 3 一、 什么是Monkey 4 5 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 6 7 二、 Monkey的特征 8 9 1、 测试的对象仅为应用程序包,有一定的局限性。 10 11 2、 Monkey测试使用的
流柯
2018/08/30
1.1K0
ADB常用命令及作用
ADB是一种功能多样的命令行工具,起到了调试桥的作用,可以用来操作Android设备。
Demo_Yang
2020/02/18
1.3K0
APP测试之使用ADB可能遇到的错误及解决办法
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
可可的测试小栈
2019/10/17
4.3K0
Monkey随机性能压测初探(一)
Monkey程序由Android系统自带,是Android SDK提供的一个命令行工具, 可运行Android模拟器和实体设备上。Monkey会发送伪随机的用户事件流,通过Monkey程序模拟用户触摸屏幕、滑动、 按键等操作来对程序进行压力测试,检测多长时间发生异常、会Crash、以及内存泄露检测可称为随机测试或稳定性测试。
王大力测试进阶之路
2019/10/25
1.7K0
Monkey随机性能压测初探(一)
Android Monkey压力测试介绍
Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试
测试开发社区
2019/09/20
1.3K0
Android Monkey压力测试介绍
android adb shell 常用命令
mac: /Users/xx/Library/Android/sdk/tools/bin archquery jobb monkeyrunner sdkmanager avdmanager lint screenshot2 uiautomatorviewer
tea9
2022/09/08
3.5K0
Android Monkey初探
Monkey是google提供的一款对Android app进行压力测试工具,基于随机坐标位置,进行点击、滑动、输入等操作.
测试加
2022/03/24
7290
Android Monkey初探
adb常用命令总结
基础命令 1.查看手机设备 adb devices 2.packsge(包路径)安装包 adb install 3.(保留数据及缓存文件安装新包) adb install -r packages 4.(卸载包) adb uninstall package 5.关闭adb服务 adb kill-server 6.启动adb服务 adb start-server 7.查看手机里面所有包名 adb shell pm list packages 8.查看手机里面所有第三方包名 adb shell pm
wencheng
2020/09/21
9360
相关推荐
adb使用及常用命令
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验