选择界面元素android
操做元素web
点击shell
拖拽编程
发送值app
获取属性框架
根据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.zipui
而后拖拽到模拟器中,
进入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个小时 各类百度 心累)