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() 接口即可:


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

相关文章
|
计算机视觉 Python
解决pycharm调用plt.show()后无图片显示问题
解决pycharm调用plt.show()后无图片显示问题
2136 0
|
4月前
|
存储 虚拟化 iOS开发
VMware ESXi 9.0 macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版
VMware ESXi 9.0 macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版
590 1
VMware ESXi 9.0 macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版
|
4月前
|
人工智能 Nacos 开发者
手把手教你搭建MCP服务器
Model Context Protocol(MCP)正成为AI智能体连接外部工具的主流标准。本文详解两种搭建方案,助你构建专属AI工具扩展引擎,实现工具调用的标准化与高效集成。
|
3月前
|
JSON 人工智能 JavaScript
cursor 如何调用 MCP server
本文介绍了如何在 Cursor 中配置并调用 MCP Server,以实现天气信息查询功能。内容涵盖 MCP 配置步骤、JSON 文件设置、MCP Server 的调用方法及结果展示,帮助开发者快速集成外部服务。
|
6月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
272 10
|
SQL 存储 数据库
MSSQL性能调优实战:索引优化、SQL语句精调与高效并发处理
在Microsoft SQL Server(MSSQL)的性能调优征途中,索引优化、SQL语句的精细调整以及高效并发处理是三大核心策略
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
328 1
|
数据可视化 Ubuntu Linux
PyCharm连接远程服务器配置的全过程
相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。 通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如我们实验室的服务器采用Ubuntu系统,创建远程交互任务时可以使用Terminal终端或者VNC桌面化操作,我觉得VNC很麻烦,所以采用Terminal进行实验,但是Terminal操作给我最不好的体验就是无法可视化中间实验结果,而且实验前后的数据上传和下载工作也让我头疼不已。
|
数据挖掘 Python
用python的tushare模块分析股票案例(python3经典编程案例)
该文章提供了使用Python的tushare模块分析股票数据的案例,展示了如何获取股票数据以及进行基本的数据分析。
794 0
下一篇
oss云网关配置