Yosemite.apk究竟有什么用?比官网还全面的教程速看!

简介: Yosemite.apk究竟有什么用?比官网还全面的教程速看!

前言



一般情况下,在我们用Airtest连接Android设备(真机或模拟器)的时候,Yosemite.apk 就会被自动安装到我们的设备上。当程序执行到输入语句时,也会启用 Yosemite 输入法来进入输入操作。


网络异常,图片无法展示
|


但很多新手同学对于这个 Yosemite.apk 还不是那么熟悉,我们官网上也没有详细的文档对它进行介绍。所以今天我们总结了6点同学们常问的、关于 Yosemite 的知识点,希望能让同学们更加了解这个应用的功能作用以及常见问题。


1.为什么输入时手机输入法的键盘弹不出来



很多同学刚刚用 Airtest 做输入操作的时候,会发现安卓设备上的键盘都不能弹出来了,效果如图:


网络异常,图片无法展示
|


其实,Yosemite 是Airtest项目专门为安卓设备准备的输入法,它本身就是不带软键盘的,使用时只会在设备底部出现一个简单的提示。并且只要在脚本中使用了 text() 接口,程序默认就会调用该输入法来进行输入操作。


2.如何快速切换设备的输入法



用Airtest连接上我们的设备之后,当前输入法一般就被设置成了 Yosemite 输入法。但有时候我们想要进行手动输入,就需要我们切换成别的输入法了。


① 在IDE中快速切换


如果使用了IDE,我们可以在设备窗口的右上角打开 安卓手机助手 ,然后在安卓助手中快速切换输入法,再进行手动输入:


网络异常,图片无法展示
|


② 在手机设置中切换


如果同学们没有使用IDE,也可以在手机设置中找到输入法设置,然后将当前输入法切换成 Yosemite 以外的输入法即可。


3.如何用text()接口进入输入



在脚本中,如果想要实现文字输入,一般需要这样的流程:


① 点一下你需要输入的位置,激活输入光标


② 调用Airtest的 text() 接口来输入内容


网络异常,图片无法展示
|


4.Yosemite未安装或不是当前输入法容易出现的问题



① 设备连接不上


部分品牌的手机默认会阻止通过USB安装应用,这样就会导致在初始化设备的时候,不能自动安装上 Yosemite 等apk,最终使Airtest连不上手机。除此之外,手机的当前输入法不是 Yosemite ,也可能影响设备连接或者脚本运行。


网络异常,图片无法展示
|


(Airtest连接未装上Yosemite的模拟器报错如图)


所以连接失败/报错时,我们也需要检查下 Yosemite 等apk是否已经安装在设备上,并把它设置为当前输入法。尤其是很多模拟器,初始化时并不会自动安装 Yosemite ,所以我们在连接安卓模拟器时,一般建议先手动安装上 Yosemite.apk


② text()接口输入失败


如果 text() 接口输入失败,一种情况是手机阻止了 Yosemite.apk 的安装及运行,这时候只要手动安装上即可。另一种常见情况是部分型号的手机不允许在输入密码时调用第三方输入法,这时候可以检查手机设置中的 语言与输入法-安全输入安全键盘 之类的设置是不是打开的,取消这些选项之后,就可以使用非系统自带的输入法来输入密码了。


网络异常,图片无法展示
|


另外,有部分特殊型号的手机存在不兼容的情况,在使用 Yosemite 输入法时容易失败,无法输入文字(OPPO与Vivo品牌更容易出现)。假如没有输入中文的需求,可以尝试使用 adb shell input 指令来进行文字输入:


shell("input text 'hello world'")
复制代码


同时,上面这种 adb shell input 可以直接设置为默认的输入方式,替换原先的 Yosemite 输入,例如这样在python代码中这样初始化手机:


from airtest.core.api import *
# 相当于命令行中使用 --device Android:///?ime_method=ADBIME 连接手机
init_device("Android", ime_method="ADBIME")
text("hello")
复制代码


还有部分模拟器(例如夜神模拟器)在输入时可能无法成功,可以确认下设置中是否打开了 硬件-物理键盘,尝试关闭这个选项,并设置默认输入法为 yosemite 输入法后,再次重试即可。


5.去哪里下载Yosemite.apk



在官网上下载一个最新的IDE包,解压出来,在下述路径中可以找到 Yosemite.apk


网络异常,图片无法展示
|


同理,如果需要手动安装 pocoservice-debug.apk 等,也可以在IDE的解压文件中找到:


网络异常,图片无法展示
|


6.Yosemite的录屏功能



1.1.3和1.1.4版本的Airtest的录屏功能也是由 Yosemite.apk 完成的。很多同学在新的测试机使用录屏功能的时候,往往会出现录屏失败报错等情况。这是因为初次使用录屏功能时,需要手动打开设备上的 Yosemite 应用,允许 Yosemite 截取设备的屏幕内容,如果未在下述弹窗中允许截图,将很容易导致录屏失败:


网络异常,图片无法展示
|


所以同学们在遇到录屏失败时,请确保已经在 Yosemite 上允许了截取功能。另外部分模拟器(eg:夜神模拟器)不支持这种录屏方式,同学们可以尝试更换别的模拟器。


如需要在脚本中开启录屏功能,可以使用 start_recording() 接口,结束录屏时调用 stop_recording() 接口即可:


网络异常,图片无法展示
|

相关文章
|
2月前
|
JSON 人工智能 JavaScript
cursor 如何调用 MCP server
本文介绍了如何在 Cursor 中配置并调用 MCP Server,以实现天气信息查询功能。内容涵盖 MCP 配置步骤、JSON 文件设置、MCP Server 的调用方法及结果展示,帮助开发者快速集成外部服务。
|
前端开发 安全 Java
类加载器原理
一、类加载 二、链接 三、初始化
类加载器原理
|
3月前
|
人工智能 Nacos 开发者
手把手教你搭建MCP服务器
Model Context Protocol(MCP)正成为AI智能体连接外部工具的主流标准。本文详解两种搭建方案,助你构建专属AI工具扩展引擎,实现工具调用的标准化与高效集成。
|
SQL 存储 数据库
MSSQL性能调优实战:索引优化、SQL语句精调与高效并发处理
在Microsoft SQL Server(MSSQL)的性能调优征途中,索引优化、SQL语句的精细调整以及高效并发处理是三大核心策略
|
12月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
405 108
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
281 1
|
JSON Java API
原生Feign使用详解(HTTP客户端)(一)
原生Feign使用详解(HTTP客户端)(一)
526 1
|
Kubernetes 并行计算 数据挖掘
构建高可用的数据分析平台:Dask 集群管理与部署
【8月更文第29天】随着数据量的不断增长,传统的单机数据分析方法已无法满足大规模数据处理的需求。Dask 是一个灵活的并行计算库,它能够帮助开发者轻松地在多核 CPU 或分布式集群上运行 Python 代码。本文将详细介绍如何搭建和管理 Dask 集群,以确保数据分析流程的稳定性和可靠性。
1142 3
|
Ubuntu 安全 测试技术
Ubuntu 22.04 Samba 安装和配置
SMB(Server Message Block)是一种跨平台的文件共享协议,它允许不同操作系统之间的文件和打印机共享。在本文中,我们将详细介绍如何在 Ubuntu 服务器上部署和配置一个 SMB 服务器,并涵盖多通道配置、性能测试、安全最佳实践以及一些常见问题。【8月更文挑战第1天】
2146 1
|
XML Android开发 数据格式
11. 【Android教程】帧布局 FrameLayout
11. 【Android教程】帧布局 FrameLayout
350 1