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删除掉,启动的时候会重新下载就好了

 

posted @ 2021-08-04 18:59  sunshine100034  阅读(160)  评论(0)    收藏  举报