当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 2020年9月11日41--appium的通信过程以及adb常用命令操作(上)

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

2020年09月01日  | 移动技术网IT编程  | 我要评论
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
    	

在这里插入图片描述

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网