Appium是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持IOS,Android和FirefoxOS平台。Appium驱动Android的UIAutomator框架,使用Selenium的WebDriver Json协议。
相比其他的移动自动化测试工具,Appiunm测试由于调用了Selenium的client库使其可以使用任意的语言,包括Python、Ruby、Node.js、Objective-C等。
Appium启动设置 app重置策略
默认(测试后停止并清除应用数据,不卸载APK)
fullReset(在会话开始前,测试后,停止app,清除app数据并邪恶在apk)
noRest(不要停止应用程序,不清除应用数据,不卸载apk)
from appium import webdriverimport timesettings_dict = {}settings_dict['platformName'] = 'Android' # 必须参数,定义被测脚本,不区分大小写, 必须是androidsettings_dict['platformVersion'] = '6.0.1' # 设置被测手机的android版本号settings_dict['deviceName'] = '127.0.0.1:7555' # 可以写任意值,但不能为空settings_dict['appPackage'] = 'com.android.settings' # 必须参数,指定被测软件的包名settings_dict['appActivity'] = '.Settings' # 指定打开的app的页面是哪个settings_dict['automationName'] = 'Uiautomator2' # 不是必须, 但一般需要指定settings_dict['noReset'] = True # 不停止应用, 不清空数据,不卸载apk False 会清除应用数据 但不会卸载apksettings_dict['newCommandTimeout'] = 6000# 设置中文输入settings_dict['unicodeKeyboard'] = Truesettings_dict['resetKeyboard'] = Truedriver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)
uiautomatorviewer的使用uiautomatorviewer主要用于查看应用中额度元素属性特征,帮助我们在代码中进行元素定位。
使用方法:
在android_sdk路径下tools下点击uiautomatorviewer.bat运行。
电脑连接真机或模拟器
启动待测的app
点击uiautomatorviewer左上角的Device screenshot按钮
点击希望查看属性的元素
产看右下角的node detail
图片横屏显示,可以点击保存截图,在外面将图片旋转为竖屏在加载进来
注意:点击Device screenshot按钮出错可以重启adb server
常见的元素定位
通过id定位
通过xpath定位