Appium 安卓自动化(Appium Inspector)

程序员 2024-10-4 08:48:46 64 0 来自 中国
前言

来啦老铁!

如我在上期文章 Appium 安卓自动化(情况搭建) 中所讲的那样,我计划用几篇文章纪录一动手机端自动化测试的探索过程,感爱好的读者也可以翻翻上期先容情况搭建的文章。
而本日我们要学习纪录的是:

  • Appium Inspector 的使用;
Appium Inspector 早期是是 Appium GUI自带的一个元素定位工具,具体入口在 GUI 启动 server 后的下图入口:
1.png 早期点击入口后可以直接打开 Appium Inspector 举行元素定位等后续操纵;
而后来,Appium 将 Appium Inspector 从 Appium GUI 上剥离出去,作为另一个独立的应用。

接下来我们一起来看看怎样使用 Appium Inspector 吧~
学习路径


  • 下载安装 Appium Inspector 应用;
  • 熟悉 Appium Inspector 应用界面;
  • 设置 Appium Inspector 根本设置项;
  • 设置 Appium Inspector Desired Capabilities 设置项;
  • 体系情况变量处理处罚;
  • 启动 Session;
  • 使用 Appium Inspector 举行元素定位;
1. 下载安装 Appium Inspector 应用;

点击上述 Appium GUI 上的 Appium Inspector 入口会把我们带往 Appium Inspector 的 git 堆栈,Appium Inspector 提供两种使用方式,一种为桌面应用,一种为网页应用,如下图:
2.png

  • 先来看看桌面版;
a. 点击 Releases 入口,前往下载站点下载桌面应用包,比方我选择 mac 版:
b. 下载完成后,打开安装包举行安装;
c. 安装完成后就能在电脑上看到安装好的 Appium Inspector 应用;
4.png

  • 再来看看网页版;
点击 web application 入口,便可打开网页版,网页版的网址:https://inspector.appiumpro.com/
5.png 与桌面版如出一辙,毕竟上,通过简朴阅读 Appium Inspector 的源代码,我们会发现,Appium Inspector 的桌面版是使用 Electron 技能的,从原理上来说,现实上与网页版根本没有差别,因此,我们不消过多研究二者的差别,可以以为是雷同的;
2. 熟悉 Appium Inspector 应用界面;



  • 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 根本设置项;



  • 我们须要将地区 1 中的 Remote Path 作一下修改,将其值改为 /wd/hub;
没错,跟 selenium server 一样,懂 UI 自动化的都懂;
4. 设置 Appium Inspector Desired Capabilities 设置项;

接下来便黑白常紧张的 Desired Capabilities 设置项,这关系到我们能否担当我们的装备,进而从事元素定位等相干工作;

  • 根据上一篇文章中的 Capabilities 以及 Appium Inspector Desired Capabilities 设置项的设置规则,根本设置如下:
{  "platformName": "Android",  "appium:automationName": "UiAutomator2",  "appium:browserName": "Chrome",  "appium:platformVersion": "7.0",  "appium:deviceName": "pixel2",  "appium:udid": "emulator-5554"} 8.png (由于笔者要探索的是使用 Appium Inspector 对手机端欣赏器举行元素定位,因此此处并未筹划 app 包名即 appium:appPackage、app activity 即 appium:appActivity 等相干的设置,取而代之的是 appium:browserName)。
云云,便可以开始毗连我们的装备了,如安卓假造机、安卓呆板;
5. 体系情况变量处理处罚;



  • 设置完成后,我们点击应用的右下角的 “Start Session” 按钮,毗连我们的装备;
  • 然而,刚开始大概会遇到一些题目,好比下面的报错:
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

9.png

  • 根据报错提示,须要设置 JAVA_HOME 情况变量,具体步调为:
a. 下令行打开 ~/.bash_profile 文件:
vi ~/.bash_profileb. ~/.bash_profile 文件内按 i 进入编辑模式
c. 在 ~/.bash_profile 文件内增长内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-18.jdk/Contents/Homeexport PATH=$JAVA_HOME/binPATHexport CLASSPATH=$JAVA_HOME/lib此中 JAVA_HOME 的值须要读者自行在电脑上找到对应的文件夹;
d. 按键盘的 esc 按钮;
e. ~/.bash_profile 文件中输入如下文本并回车,完成生存;
:wq!

  • 完成后再次点击 “Start Session” 按钮,如果还存在题目,则须要重启 Appium Inspector(忘记我探索过程中是否有由于重启办理了这个题目,总之重启过)。
6. 启动 Session;



  • 条件是我们已经启动了 Appium Server,这个参考上期文章中 Appium 安卓自动化(情况搭建)  中的步调7,启动 appium server;
  • 固然另有启动好了安卓假造机或已毗连安卓呆板;
  • 点击 Appium Inspector 上右下角的 “Start Session” 按钮启动 Session;


  • 稍等片刻后,我们的安卓假造机或安卓装备打开 Chrome 欣赏器空缺页面:


  • 同时,Appium Inspector 变为:
12.png 云云,便表现 Session 已经创建乐成;
7. 使用 Appium Inspector 举行元素定位;

作为演示用途,我将演示菜鸟教程网站后,获取菜鸟教程网站页面上的元素定位。

  • 手机端输入网址访问菜鸟教程网站:


  • Appium Inspector 点击革新按钮;
14.png

  • 选择被测对象的范例;
这个有 2 个选项,一个是 Native App Mode(原生 App 模子),一个是 Web/Hybrid App Mode(网页或混淆应用模子),默认是 Native App Mode,在本例我须要切换为 Web/Hybrid App Mode,否则无法举行元素定位;


  • 使用选择元素入口举行元素定位;
(双击 xpath 值即可举行复制 xpath 值)
至此,我们已经能通过 Appium Inspector 定位手机网页上页面元素。
特别注意:


  • 现实操纵过程中,我发现,使用 Appium Inspector 定位手机网页页面元素常常难以精准定位,效果极差,因此,手机网页上页面元素还是更保举使用桌面欣赏器的 emulator 对元素举行定位,效果如下:
17.png

  • 反观使用 Appium Inspector 定位原生 app 的页面元素,则效果比力好,如对体系闹钟这个应用内的元素举行定位:
18.png 固然本次探索学习并未能很好地达到定位手机网页页面元素的目的,但也并非一无可取,其代价体现在:

1. 相识了使用 Appium Inspector 定位手机网页页面元素这种方式并不靠谱;

2. 为未来原生应用页面元素定位奠基知识根本;

至此,我们已通过探索、学习,根本把握了 Appium Inspector 定位元素的知识,本日先到这里,不屈不挠~
本领有限,欢迎指正、相互交换,感谢~

如果本文对您有资助,贫困点赞、关注!

感谢~

您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 21:05, Processed in 0.179351 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表