APP端自动化 之 Appium初始化信息及获取方法
Appium 初始化配置信息(Desired Capabilities),Desired Capabilities实际上就是一个字典,它主要用于向Appium Server提供初始化配置参数,如:想要测试的系统是Android还是IOS,测试哪款软件,软件的入口是哪里等。
以打开手机上的QQ软件为例,python代码如下:
from appium import webdriver # desc:负责启动服务端时的参数设置,appium server 与手机端建立会话关系时,根据这些参数服务端可以做出相应的处理 desc = {} #连接手机app初始化的一些信息 # 设备信息 desc['platformName'] = 'Android' # 系统平台的名称 desc['platformVersion'] = '6.0' # 设备系统版本号 通过 手机版本(android 6.0) desc['deviceName'] = 'HIHQHEKVKZKF6HTO' # 设备号 通过adb devices (如果占用,可用adb kill-service杀掉再重新连接) # app信息 # 通过cmd 窗口中输入 aapt dump badging C:\Users\think\Desktop\xxx.apk 拿到包名和启动入口 desc['appPackage'] = 'com.gfeng.daydaycook' # 包名 desc['appActivity'] = 'com.gfeng.daydaycook.activity.WelcomeActivity_' # 启动入口 # appium的输入法,允许中文输入 desc['unicodeKeyboard'] = True # 程序结束之后重置输入法 desc['resetKeyboard'] = True # 不初始化app(不会清除app的数据包括缓存数据) desc["noReset"] = "True" driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desc) # 声明对象后会直接启动参数中的应用
初始化配置信息获取方法:
1、platformName :手机系统:Android、IOS
2、platformVersion :手机的版本,如:Android6.0就是6.0
3、deviceName :在手机连上电脑后,通过adb devices获取,注意需要打开USB调试模式(如下图,拿到的deviceName为:HIHQHEKVKZKF6HTO)
4、appPackage(包名) 和 appActivity(入口) 的获取方式有两种
第一种方法:通过监控adb操作日志来找到appPackage与appActivity,CMD下输入adb logcat | findstr start,在手机上强制停止被测试软件,再次打开,观察logcat。
斜杠之前为appPackage,斜杠之后为appActivity。从此想抓哪个App,就抓哪个App。但是由于logcat的日志较多,要找点击时第一个Start proc的日志。 这种查看日志的方式比较不方便,所以推荐用下面的方法
第二种方法:使用SDK中的aapt进行抓取appPackage与appActivity。通过aapt dump badging xxx.apk命令来查看appPackage与appActivity。命令如下:
运行代码,启动测试软件
1、启动Appium服务
2、运行上面的python代码,则可看到手机QQ被启动
posted on 2019-03-13 17:06 fengyelan2233 阅读(677) 评论(0) 编辑 收藏 举报