一、创建项目
二、创建python文件
三、添加Appium-Python-Client
通俗地说,Pycharm是编辑器 用来写代码的,Appium是测试框架 用来告诉手机设备要做什么事,Appium-Python-Client是驱动包 用来关联python和appium的,即Pycharm写好脚本后,会通过Appium-Python-Client调用Appium,让Appium告诉手机设备去做脚本里定义好的事情。
四、实例演示
自动化场景:自动打开计算器,触发点击7+9=16的操作,具体准备事项如下:
1、电脑连接真机,手机打开开发者调试模式,并且打开要调用的软件,接下来需要查询设备名和app包名:
1)获取当前设备名:adb devices
2)获取当前app和当前activity:adb shell dumpsys window w |findstr \/ |findstr name=
2、打开UI Automator Viewer,点击按钮会自动捕获手机当前窗口,此时把鼠标放到想要定位的元素上时,右侧会展示相关信息,这里用id来定位,具体如下:
1)数字7的resource-id:com.android.calculator2:id/digit_7
2)运算符+的rescource-id:com.android.calculator2:id/op_add
3)数字9的resource-id:com.android.calculator2:id/digit_9
4)=的resource-id:com.android.calculator2:id/eq
3、代码准备
1 from appium importwebdriver2 importtime3
4 calculator ={5 'platformName':'Android', #android的apk
6 'deviceName':'WTKDU16905017501', #手机设备名称,通过adb devices查看
7 'platformVersion':'8.0', #android系统的版本号
8 'appPackage':'com.android.calculator2', #apk包名
9 'appActivity':'com.android.calculator2.Calculator' #apk的launcherActivity
10 }11 #默认开启4723端口用于和android通讯
12 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',calculator)13 time.sleep(2)14
15 defcal():16 driver.find_element_by_id("com.android.calculator2:id/digit_7").click() #用id元素定位到7
17 driver.find_element_by_id("com.android.calculator2:id/op_add").click() #用id元素定位到+
18 driver.find_element_by_id("com.android.calculator2:id/digit_9").click() #用id元素定位到9
19 driver.find_element_by_id("com.android.calculator2:id/eq").click() #用id元素定位到=
20 driver.quit() #运行完成后退出
21 cal() #调用cal
4、运行appium,如图
5、万事俱备,接下来只需运行脚本就可以触发自动化测试,如下:
注:运行脚本时可能会遇到appium在android7.0以上版本找不到元素问题,到时可以参考:https://testerhome.com/topics/9684
附上gif效果图
以上便开启自动化测试的大门,请坚持!!!