Appium基础知识(一)

一.   Adb命令html

Adb全称是Android Debug Bridge,翻译过来就是安卓调试桥,一种多用途的命令行工具,能够链接模拟器或者真实的安卓设备进行通讯,他是一个包括三个组成的客户端-服务端程序
1.1 客户端是运行在咱们的开发机器上,经过adb命令能够从shell调用客户端,其余Android工具,如ADT插件和DDMS也能够建立adb命令的客户端。
1.2 服务端是在开发机器后台运行的进程。服务器管理客户端和运行在模拟器或者真实设备上的adb守护(adb daemon)进程之间的通讯
1.3 adb daemon是一个运行在模拟器或者真实安卓设备后台的而守护进程
Adb命令文件所在路径<sdk>/platform-tools/
当你运行一个adb的客户端的时候,首先会检查adb的服务端是否在运行,若是没有运行,那么会自动开启一个服务端进程。当服务端开启后,他会绑定本地的tcp端口5037,而且经过5037端口监听全部客户端发过来的命令
Adb使用
 

类别android

命令shell

说明服务器

备注网络

可选项app

-ddom

命令仅对USB设备有效socket

若是有多个USB设备就会返回错误tcp

-eide

命令仅对运行中的模拟器有效

若是有多个运行中的模拟器就会返回错误

-s <serialNumber>

命令仅对adb关联的特定序列号的模拟器或手机有效(例如 "emulator-5556").

若是不指定设备就会返回错误

通常项

devices

输出全部关联的模拟器或手机设备列表

参见 Querying for Emulator/Device Instances以得到更多信息。

help

输出adb支持的命令

 

version

输出adb的版本号

 

调试项

logcat [<option>] [<filter-specs>]

在屏幕上输出日志信息

 

bugreport

为报告bug,在屏幕上输出dumpsys,dumpstate和 logcat数据

 

jdwp

输出有效的JDWP进程信息

可使用 forward jdwp:<pid> 转换端口以链接到指定的 JDWP 进程,例如:

adb forward tcp:8000 jdwp:472

jdb -attach localhost:8000

数据项

install <path-to-apk>

安装应用程序(用完整路径指定.apk文件)

 

pull <remote> <local>

从模拟器或手机COPY文件到开发机

 

push <local> <remote>

从开发机COPY指定的文件到模拟器或手机

 

端口和网络项

forward <local> <remote>

从本地端口转换链接到模拟器或手机的指定端口

端口可使用如下格式表示:

  tcp:<portnum>

 local:<UNIX domain socket name>

 dev:<character device name>

 jdwp:<pid>

ppp <tty> [parm]...

经过USB运行UPP

  <tty> —PPP流中的tty。例如:/dev/omap_csmi_ttyl。

  [parm]... — 0到多个PPP/PPPD 选项,例如 defaultroute, local, notty等等。

注意不用自动启动PPP链接

 

脚本项

get-serialno

输出adb对象的序列号

参见 Querying for Emulator/Device Instances以得到更多信息。

get-state

输出adb设备的状态

wait-for-device

阻塞执行直到设备已经链接,即设备状态是 device.

能够在其余命令前加上此项,那样的话adb就会等到模拟器或手机设备已经链接才会执行命令,例如:

注意该命令并不等待系统彻底启动,所以不能追加须要在系统彻底启动才能执行的命令,例如install 命令须要Android包管理器支持,但它必须在系统彻底启动后才有效。下面的命令

 

会在模拟器或手机与adb发生链接后就执行install,但系统尚未彻底启动,因此会引发错误。

服务端项

start-server

检测adb服务进程是否启动,若是没启动则启动它。

 

kill-server

终止服务端进程

 

Shell

shell

在目标模拟器或手机上启动远程SHELL

参见 Issuing Shell Commands以得到更多信息。

shell [<shellCommand>]

在目标模拟器或手机上执行shellCommand而后退出远程SHELL

使用实例
1.      –d 参数

-e 参数

-s < serialNumber > 参数,尖括号里的内容是必须的

2.      devices命令

 注意设备的状态包含三种:

Offline(不能调试仅是链接,缘由极可能是adb与安卓系统不匹配)  device(正常状态可调试)  unauthorized(链接后不能调试,缘由是未在手机上赞成调试)
加上-l 参数会列出设备的详细信息,若是报错是error:protocol fault(no status),那从任务管理器杀掉各类手机助手的进程

help 命令,详细列出adb命令及参数的帮助文档
version 命令,显示adb版本
3. logcat 命令,查看设备日志
若是只有一台设备直接执行adb logcat就能够,
若是有多台,那么须要指定某一个设备执行adb –s 192.168.56.101 logcat
可是这个命令刷新日志会很快,咱们的dos窗口很差查看,因此咱们能够将结果重定向到一个文件,而后打开文件方便查看

 

 
查看logcat.txt文件内容以下:

 

 
logcat 的-f参数是将日志保存到文件,这个文件是在设备上,使用以下

 

 
logcat 自己会显示出不少日志来,那么咱们能够经过筛选来得到咱们想要的应用的日志,直接使用adb  logcat时的用法

 

 
先使用adb shell进入shell环境再logcat
 
 

 

 
 
bugreport命令,会将dumpsys,dumpstate以及logcat的信息所有显示
dumpsys:安卓系统命令,获取android服务进程的各个信息
dumpstate:安卓系统命令,系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息等等
使用和以前的同样,能够重定向到文件
adb bugreport>Desktop\bugreport.log
单独显示dumpsys和dumpstate的信息,使用以下:
adb shell dumpsys>Desktop\dumpsys.log
adb shell dumpstate>Desktop\dumpstate.log
4.      install 命令,安装app文件到设备

 

 
若是已经安装了,须要再次安装须要加参数-r,不然会失败

 

 
有安装就会有卸载uninstall

 

 
 
pull命令,从手机设备COPY指定的文件到开发机

 

 
push命令,从开发机copy指定文件到设备

 

 
5.      start-server命令,检查服务状态,若是没启动那就启动

 

 
kill-server 命令,杀死全部adb进程
一般当咱们在执行adb时碰到error或者设备状态不对,能够尝试重启adb服务,也就是使用这两命令,就犹如网管的重启电脑大杀器同样
6.      shell命令,进入安卓shell环境,这里的shell环境就是指安卓系统
 
shell <command> 命令,直接执行shell环境下的命令,例子以下:

 

 

 
这里用的vmstat命令会显示服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换状况,IO读写状况
7.      root 命令,以root身份重启adbd守护进程,对于未得到root权限的手机,这个命令执行时会报错的

 

 
usb 命令,在usb上重启守护进程的监听

 

 
tcpip <port> 命令,在特定端口上以tcpip协议重启守护进程的监听

 

 
 
下面实例演示手机wifi链接电脑
先使用usb链接手机和电脑,查看

 

 
再使用adb tcpip 8787 重启守护进程

 

 
   而后查看手机设备的ip,这里个人是192.168.1.109,注意这里须要保持电脑ip和手机ip可以互相ping通,使用adb connect 192.168.1.109:8787 链接设备

 

 
再次查看链接的设备

 

 
这里显示两个,一个是usb的链接,一个是wifi链接,拔掉数据线,咱们依然能够针对该设备进行调试操做

 

 
断开wifi链接命令

 

 
再次转换为usb,使用命令adb usb便可
二. Dos命令
   
   2.1 cd命令,切换目录
      注意切换盘符不能使用cd e:这样的形式,必须直接使用e:就能够切换
      

 

 
cd  workspace 进入e盘workspace目录
 
      cd ..返回上一级目录,cd ..\..\ 返回上两级目录
      

 

 
      2.2 dir 查看当前目录都有哪些文件
      

 

 
2.3 md 建立目录

 

 
   rd /s /q testdir 删除testdir这个目录及其如下的全部文件
       type test.txt 查看文件内容
   del test.txt删除文件
2.4 netstat –ano|findstr 4723 查看端口占用状况,下面截图表示该端口已占用,最后一列的数字是该进程的id

 

 
taskkill -F -pid 7812  按照进程号强杀某进程

 

 
taskkill -F -im name 按照进程名称强杀进程

 

 
三.安卓shell命令
   3.1 cd命令,切换目录
       cd ..返回上一级
       cd –返回上次的目录
       cd ~返回当前用户的家目录
      pwd 命令,显示当前所在目录路径

 

 
  3.2 ls 命令显示当前目录下的全部文件(不包括隐藏文件)
     

 

 
     ll 命令是以上列表的形式显示全部文件(不包括隐藏文件),注意第一列的第一个字符,-表示是文件,d表示是目录,ll其实是ls –l的简写

   3.3 rm –rf  <文件或者目录>表示强制删除文件或者目录,-r表示递归删除 –f表示强制不用询问

   mkdir <目录名称> 建立目录3.4 cat <文件名称> 查看文件内容
相关文章
相关标签/搜索