Appium学习
1. adb devices 查看设备名称

2. adb shell dumpsys window | findstr mCurrentFocus 查看包名和activity名(Linux把findstr换成grep,window是findstr)
自己理解:adb shell 是控制andorid的命令,所以adb shell dumpsys相当于adb shell 进入android,然后输入dumpsys获取系统相关信息,dumpsys window是获取系统中和window相关的信息。

第二种查看包名的办法
adb logcat 是显示日志窗口可以看到的内容,也就是所有的log
findstr是windows下的搜索命令,类似linux的grep -i 表示不区分大小写

第三种获取activity的方式,雪球时通过这个方式获取到的,上面两种方法都不行
adb shell monkey -p “com.xueqiu.android” -vvv 1


3. 创建python项目的时候创建venv,目的是隔离环境



4. 输入框输入内容后,点击搜索,os.system 是执行系统命令,会出现adb乱码问题,原因是pycharm是utf-8编码,appium是gbk编码

5. 土司操作
# toast捕获原理, 把toast加入到page树中
# 必须用xpath查找,方法通过text //*【@text, ""】 或者 //*【@class=”android.widget.Toast“】
6. 执行代码过程中出现错误,比如哦socket hang up(没有quit),或者NoSuchDriverError:A session is either terminated or not started
重启手机解决
Original error: Error: socket hang up
7 查看手机自带的输入法adb shell im list -s
8 uiautomatorviewer显示的图片是横屏
a.保存图片
b. 旋转图片,另存为
c. uiatuomatorviewer 打开,注意不只些图片的位置,还要把uix文件写入,看不到按tab键把选择页蹦出来

8 android中webview下的一般是嵌入的前端的页面

9. chrome://inspect/#devices 网站查看webview代码



10 switch_to.content报错

11.定位H5页面元素失败,原因是线上版本没法获取元素,更甭说定位了


把之前的学习记录贴过来
1. 下载Android sdk 解压,配置环境变量(本次是通过idea 安装的,所以目录有点问题)
app study
1. 打开程序,输入adb shell dumpsys window windows | findstr mFocusedApp 获取包名界面名
2 adb push 本地文件路径 手机文件夹路径 ==》电脑文件推送到手机上
3 adb pull 手机文件路径 电脑文件路径 ==》手机文件送到电脑
4. adb shell am start -W com.android.settings/.HWSettings ==》启动程序花费的时间
5 adb logcat 查看log
6 adb install apk路径/uninsall 包名
7 adb shell 进入到手机内部的命令行中,exit 退出
8. adb start-server/adb kill-server 重启/停止adb server
8 adb --help
9 adb shell getprop ro.build.version.release --》查看系统的版本号
python 代码-->python appium->appium->手机
1. 安装appium desk 一路安装就可以
2. 安装appium-python的库 pip install appium-python-client
appim的启动实际上时在本机使用了4723的端口开启了一个服务
1.我们写的python代码会访问本机的appium服务器,并获取driver对象
2. appium会将我们的driver对象调用的方法转化成post请求,并提交给appium服务器
3. appium通过接收到的post请求发送给给手机,再由手机进行执行
appium安装目录下的tool 下的UIAutomatorView.bat



隐式等待与显示等待的区别
1。 隐式等待只是判断查找的元素出现,不能判断属性是否加载完毕。
显示等待可以通过判断元素是否可点击等状态


1 appium 参数
http://appium.io/docs/en/writing-running-appium/server-args/index.html

-g 表示会把log同时写入到另一个文件中



做appium遇到的问题

解决方法 把appium setting删除掉,启动的时候会重新下载就好了
浙公网安备 33010602011771号