【实测】m1芯片mac 如何配置appium (2022年最新)(下)

简介: 【实测】m1芯片mac 如何配置appium (2022年最新)(下)

【四. 下载appium】


可以下载桌面版,也可以命令版。这个看个人需要。我是都下载了。

命令版:

npm install -g appium

npm install -g appium-doctor


然后执行appium-doctor,看看有多少报错.

image.png

只要其中的 Home,ANDROID_HOME,JAVA_HOME 没出现小红叉叉,基本就没事了。或者去百度下这些小红×后面的文案,就会很简单的解决掉了。

比如 这行报红×:

image.png

那你可以直接下载这个缺失的组件:brew install carthage

之后执行的时候,就是先启动appium,然后运行脚本。

appium正常启动效果:

image.png


桌面版也一样:

地址:https://github.com/appium/appium-desktop/releases/tag/v1.17.1-1

image.png

下载安装后:

image.png

先启动一下,看看有啥报错。注意,此时你应该已经开启了模拟器或者链接了真机,并且确保adb devices可以看到这个设备,状态为:device

image.png

然后点击Start Server按钮:

image.png

此时就相当于命令行执行了appium命令一样了。只不过输出都在这个桌面版里了。

一般这种时候,如果你有脚本,就执行脚本,就可以了。

但是没有脚本的话,怎么来测试,甚至定位元素呢?


就是点击右上角这个放大镜:

image.png

然后好好写这个启动配置:

image.png


注意这里我用的是v信的包来进行测试。platformName 和appPackage和appActivitys的值是固定的。

而那个deviceName的值是你通过adb deivces来拿到的设备号:

image.png


基本填了这四项,就可以点击右下角的Start Session了。

执行后,启动需要十几秒,这期间这个面板会缓冲卡死一样,别担心,把精力主要放在appium的日志输出上,检查是否有错误,而警告类可以先忽略。

image.png


app启动成功后,如图:

image.png


此时可以定位其中的各种元素,然后开心的写脚本。


到这,基本上环境算是部署完了,之后写完脚本后,每次都要重启一下appium服务,这是因为要重新建立一个session对话。


我的demo脚本:

from appium import webdriver
import time
desired_caps = {}
desired_caps['platformName'] = 'Android' #设置平台
desired_caps['deviceName'] = 'emulator-5554' #设备id
desired_caps['autoLaunch'] = 'true' #是否自动启动
desired_caps['appPackage'] = 'com.tencent.mm'
desired_caps['appActivity'] = 'com.tencent.mm.ui.LauncherUI'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.quit()

但是appium的这个启动,估计还是会有不少人报错,各种各样的错。大家可以自行百度,也可以公众号内留言咨询。


结尾额外说一下传统的uiautomatorviewer定位工具。它就在我们android sdk文件夹下的tools文件夹的最后一个:

image.png


正常启动后是这样的:

image.png

然后点击上面的绿色安卓手机按钮,既可以把正在打开的模拟器/设备 的截图弄出来。

image.png


不过在这个过程中,你大概率会遇到好几个问题!


问题1:

image.png

这个问题是你没有关闭appium服务 导致,所以先去关掉。然后最好重启adb和uiautomatorviewer 。当然如果还报这个错,说明appium的服务或者某个进程仍在干扰,大不了你就重启电脑和模拟器。


问题2:

打开uiautomatorviewer直接卡死,界面图像都没有显示完全。

这是因为你的jdk小版本号太高了导致,这也就是为什么我前面让大家下载jdk1.8 的 51以下的原因。


卸载jdk的话,请千万去百度搜一下彻底卸载的方案,否则卸不干净会容易引发更多问题。


问题3:

仍然报错,然后你点开Details 查看详情显示:

java.lang.reflect.InvocationTargetException


这个问题是因为android8.0以上支持不了导致。需要你下载并替换四个jar包才行。(tools/lib中ddmlib、ddms、ddmuilib 、uiautomatorviewer这四个jar包)


jar包下载地址:(需要积分,加v私聊免费传)

https://download.csdn.net/download/qq_22795513/85057471

替换完成后,重启这个工具即可正常解析!!!


当然还有一些麻烦的办法:

比如,手动用adb命令来截图和uix文件,截图到手机的临时本地中,然后再用adb命令把截图和uix上传到你的电脑文件夹内,然后再用uiautomatorviewer去打开这俩个,也一样可以万能的解决解析问题!

具体命令:

# 截取设备当前页面的uix文件
adb shell uiautomator dump /sdcard/test.uix
#上传到你电脑的某个文件夹
adb pull /sdcard/test.uix 你电脑本地地址/test.uix
# 截取设备当前页面的png图片
adb shell screencap -p /sdcard/test.png
# 上传到你电脑的某个文件夹 
adb pull /sdcard/test.png 你电脑本地地址/test.png

当这个俩个图成功储存到你的电脑中,你用工具打开即可:

image.png


好了,暂时说到这里。欢迎继续收听!

相关文章
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
应用服务中间件 开发工具 nginx
Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端
Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端 最近换了台新 Mac,所有的配置和软件就重新安装下,顺便写个文章。
1502 1
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
600 60
|
开发工具 git 开发者
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
本篇将专注于如何在 DevEco Studio 中安装和配置必要的插件,以增强开发功能和提升效率。通过正确配置插件,开发流程能够得到简化,开发体验也会更加顺畅。
490 1
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
5616 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
|
Web App开发 开发工具 Android开发
【Flutter】Flutter安装和配置(mac)
【Flutter】Flutter安装和配置(mac)
|
数据采集 人工智能 搜索推荐
【通义】AI视界|迎接Apple Intelligence,Mac家族进入M4芯片时代
本文概览了近期科技领域的五大热点:苹果宣布Apple Intelligence将于2025年4月支持中文;新款Mac将搭载M4芯片;ChatGPT周活跃用户达2.5亿,主要收入来自订阅;Meta开发AI搜索引擎减少对外部依赖;周鸿祎支持AI发展但反对构建超级智能。更多详情,访问通义平台。
Mac每次都要执行source ~/.bash_profile配置的环境变量才生效
Mac每次都要执行source ~/.bash_profile配置的环境变量才生效
592 2
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
208 1