1. 启动一个http服务器:127.0.0.1:4723
2. 根据测试代码setUp()进行初始化,在http服务器上建立一个session对象;
3. 开始调用adb,找到连接上的设备,设置设备id
猜测:这次我只连接了一个模拟器,如果还有多个设备呢,在第二篇文章中是命令行启动的,使用了-U参数来指定某个设备,但是我现在是图形界面启动的,没有地方指定设备
4. 等待设备准备好响应命令
相关命令:
c1: adb.exe -s emulator-5554 wait-for-device
c2: adb.exe -s emulator-5554 shell "echo 'ready'"
5.开启logcat日志监控
java -jar appium\node_modules\appium\lib\devices\android\helpers\strings_from_apk.jar aimsi.apk c:\windows\temp\com.example.aimsi
这条命令读取apk文件,生成了对一些apk基本信息的json描述,以我的为例:
{
"app_name" : "Aimsi",
"menu_settings" : "Settings",
"title_activity_main" : "MainActivity",
"RbtnImsi" : "汉字一",
"RtxtImsi" : "IMSI_IMEI"
}
将生成的apk属性信息文件strings.json存到了设备目录下:
c3:adb.exe -s emulator-5554 push "c:\\windows\\temp\\com.example.aimsi\\strings.json" /data/local/tmp
6.读取这个apk安装情况
c4:adb.exe -s emulator-5554 shell "pm list packages -3 com.example.aimsi"
读出来的结果是,我之前已经安装过这个apk
7.端口映射,发给appium httpserver的内容,经过httpserver后直接发给设备
c5:adb.exe -s emulator-5554 forward tcp:4724 tcp:4724
|