Appium+Python自动化测试之运行App程序示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Appium+Python⾃动化测试之运⾏App程序⽰例
在上⼀篇博客中,已经将环境搭建好了。
现在,我们利⽤搭建的环境来运⾏⼀条测试脚本,脚本中启动⼀个计算器的应⽤,并实现加法的运算。
创建模拟器
在运⾏App之前,⾸先需要创建⼀个Android模拟器,也可以使⽤真机来运⾏,效果更佳。
进到Android SDK的⽬录,双击运⾏AVD Manager.exe
点击Create创建⼀个Android模拟器
输⼊⼀个模拟器名称,选择设备类型和API版本,点击进⾏创建。
创建完成后会显⽰当前所有的设备,选择设备,点击Start启动
第⼀次启动的时候会有点慢,要等⼏分钟,启动以后就好了,模拟器刚启动后的界⾯是这样的
获取应⽤的packageName和activityName
在写测试脚本之前,要知道被测试apk的packageName和要启动的activityName,如果是第三⽅的apk,有现成的可以直接使⽤。
这⾥启动的是模拟器内置的应⽤,所以要把apk从模拟器中导出来
模拟器中预置的应⽤都放在⼿机的system/app⽬录中,使⽤adb shell命令进⼊⽬录查看计算器应⽤的apk名称
使⽤ls *.apk命令列出所有的apk,查找到apk⽂件为Calculator.apk,然后使⽤adb pull system/app/Calculator.apk d:/命令将⽂件导出到电脑中。
将apk导出后,Android SDK中有⼀个aapt的⼯具可以⽤来查看应⽤的包名和要启动的activity名称,⼯具在SDK的build-tools⽬录下,命令格式为”aapt dump badging apk路径”
输⼊命令后,第⼀⾏的输⼊中包含应⽤的包名
package: name='com.android.calculator2' versionCode='17' versionName='4.2.2-3453820'
在输⼊快到结尾的时候,有⼀⾏包含应⽤启动时打开的activity名称
launchable-activity: name='com.android.calculator2.Calculator' label=” icon='
这样就得到了packageName和activityName
Capability
Capability是⼀个字典,配置的是⾃动化测试的⼀些必要信息,包含了本次测试的平台名称及版本号、启动的是浏览器还是app等,客户端将这些告诉服务器,服务器根据这些信息创建⾃动化会话。
这⾥只介绍跟Android平台相关并且常⽤的⼏个
automationName:定义测试引擎,使⽤的android-sdk版本⼩于17时,使⽤Selendroid,⼤于等于17时使⽤Appium,默认是Appium platformName:测试平台,通常⽤于移动设备,值有:Android、IOS、FirefoxOS
platformVersion:测试平台版本,根据设备的固件版本指定,例如Android的4.2、IOS的7.1
deviceName:设备名称
app:要安装的app的⽂件路径,可以是本地的绝对路径,也可以是远程⽹络路径
browserName:启动的浏览器名称,测试的是web应⽤时指定,Android平台设置为Chrome
newCommandTimeout:为了结束Appium会话,会设置⼀个等待从客户端发送命令的超时时间,默认为60秒,⼀般不需要设置
autoLaunch:测试时是否需要⾃动运⾏app
appPackage:设置app的包名,告诉Appium需要启动的app
appActivity:设置启动的Activity
appWaitActivity:要等待的Activity
appWaitPackage:要等待的appPackage
unicodeKeyboard:是否使⽤unicode键盘输⼊,在输⼊中⽂字符和unicode字符时设置为true
resetKeyboard:是否将键盘重置为初始状态,设置了unicodeKeyboard时,在测试完成后,设置为true,将键盘重置上述的⼏个Capability只是在测试中经常⽤到的,更多的Capability在⽤到的时候可以在⽹上查阅
编写测试脚本
新建test.py,输⼊下⾯的代码
# -*- coding: utf-8 -*-
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': 'emulator-5554',
'platformVersion': '4.2',
'appPackage': 'com.android.calculator2',
'appActivity': 'com.android.calculator2.Calculator'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.find_element_by_name('7').click()
driver.find_element_by_name('+').click()
driver.find_element_by_name('8').click()
driver.find_element_by_name('=').click()
保存⽂件,打开Appium,点击右上⾓的三⾓形按钮启动Appium
出现> info: Welcome to Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d)这⾏信息后,就表⽰Appium启动成功了
Appium启动成功后,运⾏测试脚本,模拟器会运⾏计算器应⽤,计算加法
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。