aapium选择操作元素
Appium自动化
选择界面元素
操作元素
点击
拖拽
发送值
获取属性
根据appium获取的数据进行分析处理
总和能力:跟编程语言基础、领域的知识有关例如通信系统的协议结合、选择元素、操作元素(编程基础相当于内功、其他知识相当与外功,只有内外兼修才能把自动化工作做好)
Appium的webdriver继承selenium中的webdriver
from appium import webdriver
import time,traceback
desired_caps = {}
desired_caps['platformName'] = 'Android' # 平台
desired_caps['platformVersion'] = '8.0.0' # 系统版本
desired_caps['deviceName'] = '192.168.161.101:5555'#
desired_caps['app'] = r'C:\Users\Administrator\Downloads\toutiao.apk' #app的包地址
desired_caps['appPackage'] = 'io.manong.developerdaily' #获取报名 使用sdk中aapt工具 aapt dump badging XX.apk > D:a.txt &&
D:a.txt重定向到一个文件中并且打开
adb 查看所有安装的包 pm list pckages
desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity' #应用的启动界面
desired_caps['unicodeKeyboard'] = True #如果自动化中需要输入中文就要设置这个参数为True
desired_caps['resetKeyboard'] = True #设置完之后,程序结束输入法还原原来的设置
desired_caps['noReset'] = True #不会重置应用,不设置的时候就会需要重复登陆 如果需要测试重复登陆 在框架中程序结束设置退出
desired_caps['newCommandTimeout'] = 6000 #当自动化程序和appium通讯发命令,如果过了一段时间没有发送命令就会发送失败 ,这个时间就是设置的超时时间
#启动Remote RPC
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #和appniumserver创建连接
使用模拟器拖拽安装apk时候报错如下图
解决办法:去网上下载一个Genymotion-ARM-Translation_v1.1.zip
然后拖拽到模拟器中,
进入genymotion自带的adb.exe文件夹下,执行adb shell flash-archive.sh /sdcard/Download/Genymotion-ARM-Translation_v1.1.zip
执行成功如下图
然后关闭模拟器,重新启动,拖拽安装即可
备注apk的名字改成英文.apk
如果还不能解决问题,就去genymotion中换一个模拟器执行以上操作
参考解决办法文档:https://blog.csdn.net/SkipperKevin/article/details/70885620
https://blog.csdn.net/maplelove1211/article/details/77274833
(倒腾了4个小时 各种百度 心累)