这个系列预计会讲启动APP—元素定位—初步使用—API命令详解
本系列没提过的知识点也不用急,大家可以点击文末小卡片进群来一起交流
目录
第 2 章 初步使用
2.1 启动 app(淘宝)
前言
2.1.1 下载 aapt
2.1.2 获取 apk 包名
2.1.3 获取 launcherActivity
2.1.4 写脚本
2.1.5 运行 appium
2.1.6 最终代码如下
2.2 元素定位 uiautomatorviewer
前言
2.2.1 启动uiautomatorviewer.bat
2.2.2 连接手机
2.2.3 定位元素
2.2.4 点搜索框
2.2.5 参考代码
2.2.6 元素定位
2.3 Appium Inspector
前言
2.3.1 设置 appium
2.3.2 开启 appium
2.3.3 Ispector Window
2.3.4 查看属性
2.5.5 常见异常
后话
第 2 章 初步使用
2.1 启动 app(淘宝)
前言
安装好appium之后,就是启动APP了
那么如何启动 app 呢?
首先要获取包名,然后获取launcherActivity。
获取这两个关键东西的方法很多, 这里就不一一多说,小伙伴们可以各显神通。
这里主要给大家推荐一个 sdk 自带的实用工具 aapt. aapt 即 Android Asset Packaging Tool
在 SDK 的 build-tools 目录下。 该工具可以查看 apk 包名和 launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。
2.1.1 下载 aapt
-
在 android-sdk 里面双击 SDK-manager,下载 buidl-tools
2.勾选 build-tools,随便选一个版本,我这里选的是 24 的版本
3. 下载完成后,在 D:\androidsdk\android-sdk-windows\build-tools\24.0.0 目录下找到 aapt.exe,将这个路径设置环境变量,添加到 path 下
4. 打开 cmd。输入 aapt 出现如下界面,说明环境 OK 了
2.1.2 获取 apk 包名
-
将准备测试的 APK 放到 D 盘某个目录,如 D:\test
-
打开 cmd,输入指令 aapt dump badging D:\test\xxx.apk(APK 的全名, 如手机淘宝.apk)
-
以手机淘宝.apk 为例,如下图
4.这里就可以看到 apk 的包名:com.taobao.taobao 注:老司机==可以直接把 apk 放在桌面上,输入指令后拖到 cmd 框 ==
2.1.3 获取 launcherActivity
- 接着上一步操作,cmd 屏幕拖到中间 l ==找到 auncherActivity ==
- 这里可以看到,淘宝的 launcherActivity 值为 com.taobao.tao.welcome.Welcome
2.1.4 写脚本
- platformName:这里是 ==android 的 apk ==
- deviceName:手机设备名称,通过 adb devices 查看
- platformVersion:android 系统的版本号
- appPackage:apk 包名
- appActivity:apk 的 launcherActivity
2.1.5 运行 appium
-
启动 appium,右上角点三角形按钮,变成正方形,就是启动状态。
2. 确认手机连上电脑
3.在 pycharm 运行脚本,随后在手机上会弹出安装下面两个软件的提示, 安装后,桌面上 多两个图标。那么恭喜你启动成功!
4.接着会看到淘宝 app 已经启动啦
2.1.6 最终代码如下
`# coding=utf-8
rom appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': '30d4e606',
'platformVersion': '5.0',
# apk 包名
'appPackage': 'com.taobao.taobao',
# apk 的 launcherActivity
'appActivity':
'com.taobao.tao.welcome.Welcome'
}
driver = webdriver.Remote(
'http://127.0.0.1:4723/wd/hub',
desired_caps)`
这个地址是怎么来的呢?如下图:
这一篇主要学会使用 aapt 工具,然后启动 app 的一个流程
启动 app 后,下一 步就是要定位元素了,定位元素 android sdk 里面用一个自带的 uiautomatorviewer,appium 里面也有一个 Inspector,下篇会详细介绍。
2.2 元素定位 uiautomatorviewer
前言
环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.
uiautomatorviewer 是 android-sdk 自带的一个元素定位工具
非常简单好用, 使用uiautomatorviewer,你可以检查一个应用的 UI 来查看应用的布局和组件以 及相关的属性。
2.2.1 启动uiautomatorviewer.bat
-
打开目录 D:\androidsdk\android-sdk-windows\tools
2. 双击启动,启动之后出现如下界面
3.如果不喜欢双击启动的话,也可以在 cmd 里面通过指令启动 先 cd 到 tools 目录下,然后输入 uiautomatorviewer.bat 回车后启动服务
2.2.2 连接手机
- cmd 打开输入 adb devices,确认手机已连上
- 打开手机淘宝页面,让屏幕处于点亮状态
- 点左上角安卓机器人按钮 Devices Screenshot 按钮刷新页面
2.2.3 定位元素
-
移动鼠标到需要定位的元素上,如搜索输入框
2.右下角可以看到元素对应的属性
text:搭配新宠不能缺
resource-id:com.taobao.taobao:id/home_searchedit class:android.widget.EditText
2.2.4 点搜索框
- 前面一骗启动 app 后,休眠五秒,等待页面加载完成
- 通过 id 来定位到搜索框,然后点击
2.2.5 参考代码
# coding=utf-8
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': '30d4e606',
'platformVersion': '5.0',
'appPackage': 'com.taobao.taobao', 'appActivity':
'com.taobao.tao.welcome.Welcome',
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").cli ck()
2.2.6 元素定位
(此处敲黑板,做笔记!!!)
-
appium 的 webdriver 提供了 11 种元素定位方法,在 selenium 的基础 上扩展了三个,可以在 pycharm 里面输入 driver.find_element_by 然后会自动匹配出来
2.多的三种如下,在后面的会详细介绍
- driver.find_element_by_accessibility_id()
- driver.find_element_by_android_uiautomator()
- driver.find_element_by_ios_uiautomation()(第三个是 ios 的可以暂时不用管)
uiautomatorviewer 是 android sdk 自带的,下面将讲另一个Inspector
2.3 Appium Inspector
前言
Appium Inspector 是== appium 自带的一个元素定位工具==。
appium Inspector 的winddows 版本不太好用,但是 Mac 上的功能还是很强大的,一般 mac 上用的比较多。
2.3.1 设置 appium
- 先不要启动 appium
- 点开 android setting 界面(机器人图标)
- 勾选 Application Path,添加被测 app 的路径
- Devices name 处添加设备名称(adb devices 查看到的)
(敲黑板,记重点:通过这种方法也可查看到 apk 的包名和 Launch Activity)
2.3.2 开启 appium
- 手机确保连接电脑(adb devices 查看)
- 点 appium 右上角三角形图标,会启动服务
- 这时候可以看到手机上安装淘宝应用,并会启动淘宝
- 点 appium 右上角的搜索图标
- 点Inspector Window 界面的 Refresh 按钮刷新界面
2.3.3 Ispector Window
- 手机上打开需要单位元素的界面,然后点 Refresh 按钮刷新
- 左边菜单树,可以挨个点开
- 如果想单位界面上的“是”和“否”按钮,从菜单树就可以看到这两个 元素的结构
2.3.4 查看属性
- 选中左侧菜单树对应的元素,在右下角查看对应属性
2.5.5 常见异常
- 在使用过程中,你会发现经常会报以下这个错误
- 每次启动都会给你手机上重新安装一次应用
- 并且不能用鼠标指定某个元素,没有uiautomatorviewer 使用方便
后话
本次的文章实际代码可能有点多,大家出现错误的话可以多对应几遍,实在找不到错误可以点击文末小卡片进群,来这里提问,会有大佬帮忙解答的。