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操作日志来找到appPackageappActivity,CMD下输入adb logcat | findstr start,在手机上强制停止被测试软件,再次打开,观察logcat

       

  斜杠之前为appPackage,斜杠之后为appActivity。从此想抓哪个App,就抓哪个App。但是由于logcat的日志较多,要找点击时第一个Start proc的日志。 这种查看日志的方式比较不方便,所以推荐用下面的方法

  第二种方法:使用SDK中的aapt进行抓取appPackageappActivity。通过aapt dump badging xxx.apk命令来查看appPackageappActivity。命令如下:

        

  

 

运行代码,启动测试软件

1、启动Appium服务

2、运行上面的python代码,则可看到手机QQ被启动

 

posted on 2019-03-13 17:06  fengyelan2233  阅读(661)  评论(0编辑  收藏  举报

导航