前言
如我在上期文章 Appium 安卓自动化(环境搭建) 中所讲的那样,我打算用几篇文章记录一下手机端自动化测试的探索过程,感兴趣的读者也可以翻翻上期介绍环境搭建的文章。
而今天我们要学习记录的是:
Appium Inspector 早期是是 Appium GUI自带的一个元素定位工具,具体入口在 GUI 启动 server 后的下图入口:
早期点击入口后可以直接打开 Appium Inspector 进行元素定位等后续操作;
接下来我们一起来看看如何使用 Appium Inspector 吧~
学习路径
1. 下载安装 Appium Inspector 应用;
点击上述 Appium GUI 上的 Appium Inspector 入口会把我们带往 Appium Inspector 的 git 仓库,Appium Inspector 提供两种使用方式,一种为桌面应用,一种为网页应用,如下图:
a. 点击 Releases 入口,前往下载站点下载桌面应用包,例如我选择 mac 版:
b. 下载完成后,打开安装包进行安装;
c. 安装完成后就能在电脑上看到安装好的 Appium Inspector 应用;
点击 web application 入口,便可打开网页版,网页版的网址:https://inspector.appiumpro.com/
与桌面版一模一样,事实上,通过简单阅读 Appium Inspector 的源代码,我们会发现,Appium Inspector 的桌面版是使用 Electron 技术的,从原理上来说,实际上与网页版基本没有差异,因此,我们不用过多研究二者的差异,可以认为是相同的;
2. 认识 Appium Inspector 应用界面;
a. 编码 1 为 Appium server 配置项区域,其中 Remote Host 默认为 0.0.0.0,Remote Port 默认为 4723,Remote Path 默认为 /。
b. 编码 2、3 区域为 Capabilities 相关区域,也即 Appium session 相关区域,其中编号 2 区域的 Desire Capabilities 为 Capabilities 的手动逐个添加区域,编号 3 区域为 JSON 形式的 Capabilities 的批量添加区;
3. 配置 Appium Inspector 基础配置项;
没错,跟 selenium server 一样,懂 UI 自动化的都懂;
4. 配置 Appium Inspector Desired Capabilities 配置项;
接下来便是十分重要的 Desired Capabilities 配置项,这关系到我们能否接管我们的设备,进而从事元素定位等相关工作;
{
"platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:browserName": "Chrome",
"appium:platformVersion": "7.0",
"appium:deviceName": "pixel2",
"appium:udid": "emulator-5554"
}
(由于笔者要探索的是使用 Appium Inspector 对手机端浏览器进行元素定位,因此此处并未设计 app 包名即 appium:appPackage、app activity 即 appium:appActivity 等相关的配置,取而代之的是 appium:browserName)。
如此,便可以开始连接我们的设备了,如安卓虚拟机、安卓机器;
5. 系统环境变量处理;
Failed to create session.
An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of '/Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-v4.24.0.apk'. Original error: The JAVA_HOME environment variable must be set for Android Tools to work properly
a. 命令行打开 ~/.bash_profile 文件:
vi ~/.bash_profile
b. ~/.bash_profile 文件内按 i 进入编辑模式
c. 在 ~/.bash_profile 文件内增加内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-18.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib
其中 JAVA_HOME 的值需要读者自行在电脑上找到对应的文件夹;
d. 按键盘的 esc 按钮;
e. ~/.bash_profile 文件中输入如下文本并回车,完成保存;
:wq!
6. 启动 Session;
如此,便表示 Session 已经创建成功;
7. 使用 Appium Inspector 进行元素定位;
作为演示用途,我将演示菜鸟教程网站后,获取菜鸟教程网站页面上的元素定位。
这个有 2 个选项,一个是 Native App Mode(原生 App 模型),一个是 Web/Hybrid App Mode(网页或混合应用模型),默认是 Native App Mode,在本例我需要切换为 Web/Hybrid App Mode,否则无法进行元素定位;
(双击 xpath 值即可进行复制 xpath 值)
至此,我们已经能通过 Appium Inspector 定位手机网页上页面元素。
至此,我们已通过探索、学习,基本掌握了 Appium Inspector 定位元素的知识,今天先到这里,再接再厉~
如果本文对您有帮助,麻烦点赞、关注!
感谢~