这个系列预计会讲启动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 常见异常
后话
安装好appium之后,就是启动APP了
那么如何启动 app 呢?
首先要获取包名,然后获取launcherActivity。
获取这两个关键东西的方法很多, 这里就不一一多说,小伙伴们可以各显神通。
这里主要给大家推荐一个 sdk 自带的实用工具 aapt. aapt 即 Android Asset Packaging Tool
在 SDK 的 build-tools 目录下。 该工具可以查看 apk 包名和 launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。
在 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 了
将准备测试的 APK 放到 D 盘某个目录,如 D:\test
打开 cmd,输入指令 aapt dump badging D:\test\xxx.apk(APK 的全名, 如手机淘宝.apk)
以手机淘宝.apk 为例,如下图
4.这里就可以看到 apk 的包名:com.taobao.taobao 注:老司机==可以直接把 apk 放在桌面上,输入指令后拖到 cmd 框 ==
2.1.4 写脚本
启动 appium,右上角点三角形按钮,变成正方形,就是启动状态。
2. 确认手机连上电脑
3.在 pycharm 运行脚本,随后在手机上会弹出安装下面两个软件的提示, 安装后,桌面上 多两个图标。那么恭喜你启动成功!
4.接着会看到淘宝 app 已经启动啦
`# 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,下篇会详细介绍。
环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.
uiautomatorviewer 是 android-sdk 自带的一个元素定位工具
非常简单好用, 使用uiautomatorviewer,你可以检查一个应用的 UI 来查看应用的布局和组件以 及相关的属性。
打开目录 D:\androidsdk\android-sdk-windows\tools
2. 双击启动,启动之后出现如下界面
3.如果不喜欢双击启动的话,也可以在 cmd 里面通过指令启动 先 cd 到 tools 目录下,然后输入 uiautomatorviewer.bat 回车后启动服务
移动鼠标到需要定位的元素上,如搜索输入框
2.右下角可以看到元素对应的属性
text:搭配新宠不能缺
resource-id:com.taobao.taobao:id/home_searchedit class:android.widget.EditText
# 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()
(此处敲黑板,做笔记!!!)
appium 的 webdriver 提供了 11 种元素定位方法,在 selenium 的基础 上扩展了三个,可以在 pycharm 里面输入 driver.find_element_by 然后会自动匹配出来
2.多的三种如下,在后面的会详细介绍
uiautomatorviewer 是 android sdk 自带的,下面将讲另一个Inspector
Appium Inspector 是== appium 自带的一个元素定位工具==。
appium Inspector 的winddows 版本不太好用,但是 Mac 上的功能还是很强大的,一般 mac 上用的比较多。
(敲黑板,记重点:通过这种方法也可查看到 apk 的包名和 Launch Activity)
本次的文章实际代码可能有点多,大家出现错误的话可以多对应几遍,实在找不到错误可以点击文末小卡片进群,来这里提问,会有大佬帮忙解答的。