欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

2020年9月11日41--appium的通信过程以及adb常用命令操作(上)

程序员文章站 2022-06-15 09:38:40
appium的通信过程appium的通信过程:1、发送http请示到appium server2、appium server收到之后,创建session3、获取已连接的设备,并找对应的安卓版本号4、获取io.appium.settings的状态,获取它的版本,以确保是当前匹配最新的版本。settings_apk-debug.apk 获取io.appium.uiautomator2.server的状态,获取它的版本,以确保是当前匹配最新的版本。 io.appium.uiautomat...

appium的通信过程

appium的通信过程:
1、发送http请示到appium server
2、appium server收到之后,创建session
3、获取已连接的设备,并找对应的安卓版本号

4、获取io.appium.settings的状态,获取它的版本,以确保是当前匹配最新的版本。settings_apk-debug.apk
  获取io.appium.uiautomator2.server的状态,获取它的版本,以确保是当前匹配最新的版本。
     io.appium.uiautomator2.server.test

5、启动手机上的uiautomator.server的服务,然后设置将本地appium server收到的指令都从本地8200端口,转发到设备的6790端口

6、跟手机创建会话。

7、打开app

8、如果60s内,appium server没有收到客户端的http请求,主动关闭与客户端的会话,与手机端的会话。然后关闭app

关于uiautomator:
https://www.cnblogs.com/yyoba/p/9675071.html

adb常用命令操作

adb介绍:
    1.adb(Android Debug Bridge)是android sdk 的一个工具
    2.adb是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能够使用户在电脑上对手机进行全民的操作
    3.Android的初衷是用adb这样的一个工具哎协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk,
        拷贝推送文件,查看设备硬件信息,查看应用占用资源,在设备执行shell命令等功能
        
adb组成:
    1.客户端client:运行在你电脑上,你可以通一个shell来调起一个客户端,其他Android工具例如ADT插件,DDMS都可以创建出一个客户端
    2.服务端server:运行在你的电脑的后台,负责client和daemon进行通信
    3.守护进程daemon:运行在模拟器或者Android设备的后台
    4.验证:打开windows命令行。输入adb命令
    
adb的常用命令:
    1.adb启停,默认端口是5037
        1.1 adb kill-server:结束adb服务进程
        1.2 adb start-server:开始adb服务进程
        
    2.adb --help:查看帮助手册
    3.adb reboot:重启安卓设备
    
    4.adb devices:检测连接到电脑的安卓设备,这个是我门经常用到的检测命令
    
    5.adb dump badging 本地apk全路径:获得apk包的包名package和入口activity
        例如:
            包名package: name='com.lemon.lemonban'
            入口activity:launchable-activity: name='com.lemon.lemonban.activity.WelcomeActivity'
            
    6.adb pull:从手机中拉取信息到电脑上
        格式为:adb <手机路径><本机路径> 
        注意:手机路径是左斜杠/ 电脑路径是右斜杠\ (不能直接导电脑根目录,得指定一个已经存在的文件夹)   
        注意:需要退出shell,在执行
        
    7.adb push:从本地推送信息道手机上去
        格式为:adb <电脑路径><手机路径>  
         注意:电脑路径是右斜杠\  手机路径是左斜杠/   
        注意:需要退出shell,在执行
        7.1 创建文件夹:mkdir xxx
        
    8.adb shell:就是进入shell模式,相当于执行远程命令
    	ll,ls,cd命令都可以用,进入到linux命令环境当中,
        退出shell模式:直接输入 exit
        
    9.adb install apk包:安装这个apk包在设备上
    	出现success就代表ok了
        
    10.adb unintall 应用包名:卸载这个已在设备上的apk包,
        注意:这里是需要获取应用包名,需要退出shell到主命令行才能执行
        例如:adb unistall com.tencent.mobileqq    
        
    11.adb install xxx.apk :为了获取apk的安装包的所在位置,可以直接把apk拖到cmd的窗口获取,返回success就说明安装成功了!
    
    12.查看获取当前打开的页面的:
        1.adb shell dumpsys activity | find "mFocusededActivity"    ---查看前台应用的Activity名
            这个命令在安卓7版本以前都可以用,超过就不可以用
        2.adb shell dumpsys activity | find "mResumedActivity"
        3.adb shell dumpsys activity activities | findstr mResumedActivity
        
    13.adb connect/disconnect 通过wifi进行远程连接手机进行调试
    
    14.adb logcat:打印log日志信息
    	14.1 基于windows平台的操作:adb logcat | find
    	14.2 linux平台的操作可以把find改成grep: adb logcat | grep
    	14.3 结束logcat:
    		可以用ctr+c快捷键结束, 这个是通过手工的快捷键操作完成
    	14.4 adb logcat -help:可以查看其它功能
    		命令:adb logcat -help
	    		C:\Users\admin-198\Desktop
				$ adb logcat -help
				Unrecognized Option h
				Usage: logcat [options] [filterspecs]
				options include:
				**选项**:
				-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
				 
				-- "-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
				 
				-- "-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
				 
				-- "-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
				 
				-- "-v"选项 : 设置日志的输出格式, 注意只能设置一项;
				 
				-- "-c"选项 : 清空所有的日志缓存信息;
				 
				-- "-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
				 
				-- "-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
				 
				-- "-g"选项 : 查看日志缓冲区信息;
				 
				-- "-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
				 
				-- "-B"选项 : 以二进制形式输出日志;
				 
				**过滤项格式** : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;
				 
				-- V : Verbose (明细);
				 
				-- D : Debug (调试);
				 
				-- I : Info (信息);
				 
				-- W : Warn (警告);
				 
				-- E : Error (错误);
				 
				-- F : Fatal (严重错误);
				 
				-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
				 
				'*' by itself means '*:D' and <tag> by itself means <tag>:V.
				If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
				eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.
				 
				If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.
				 
				If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
				or defaults to "threadtime"
				
学习:https://testerhome.com/topics/2565
    	

2020年9月11日41--appium的通信过程以及adb常用命令操作(上)

本文地址:https://blog.csdn.net/qq_40236497/article/details/108575123