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个小时 各种百度 心累)

 


posted @ 2018-08-03 18:54  小青~  阅读(339)  评论(0编辑  收藏  举报