上回我们说到,手机和appium已经连接成功。
下面我们开始写代码来进行测试。
运行代码前,先要安装python 库
pip install Appium-Python-Client
然后获取apk信息、工具在sdk目录下,build-tools对应版本下面。
命令:aapt.exe dump badging (APK的路径)
获取到包名,等信息之后,将包名填写到appium桌面版当中去。appium桌面版我稍后将资源上传。
大致内容如下:
直接点start server 启动
启动后,点击放大镜,填写链接内容,大致界面如下图。添加好APP信息
{ "platformName": "Android", #固定 "platformVersion": "9", #android版本 "deviceName": "xxxxxx你自己的手机唯一识别码,adb可以看", "appPackage": "bin.mt.plus", #package 上面获取到的app信息里面有 "appActivity": "bin.mt.plus.Main", # 上面获取到的app 第二个内容 "automationName": "uiautomator2", #默认 "unicodeKeyboard": true, #用unicode编码发送字符串 "resetKeyboard": true, # 取消键盘 "noReset": true # 应用信息不重置 }
点击Start Session启动
启动后会打卡app,然后获取到app对应页面上的信息。
剩下就是写脚本的事情了。获取到Xpath。写脚本
#coding=utf-8
from appium import webdriver
import time
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '9'
desired_caps['deviceName'] = 'xxxxxxxxx'
desired_caps['appPackage'] = 'bin.mt.plus'
desired_caps['appActivity'] = 'bin.mt.plus.Main'
desired_caps['automationName'] = 'uiautomator2'
desired_caps['unicodeKeyboard'] = 'True'
desired_caps['resetKeyboard'] = 'True'
desired_caps['noReset'] = 'True'
# 启动app
drivers = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 定位到功能按键,并点击
driver.find_element_by_xpath(".//*[@text='功能']").click()
# 关闭退出
drivers.quit()
上面只是一个简单的例子。如何运行以及使用。
今天就讲到这里。感谢各位阅读。