Yosemite.apk

摘要:
通常,当我们使用Airtest连接Android设备时,Yosemite.apk将自动安装在我们的设备上。当程序执行输入语句时,Yosemite输入法也将被启用以进入输入操作。但很多新手学生对Yosemite.apk并不是那么熟悉,我们的官网上也没有详细的文档来介绍它。此外,目前手机的输入法不是Yosemite,这也可能会影响设备连接或脚本操作。②文本()接口输入失败。如果文本()界面输入失败,一种情况是手机已阻止Yosemite.apk的安装和操作。此时,只需手动安装即可。

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

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

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

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

Yosemite.apk第2张

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

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

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

① 在IDE中快速切换

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

Yosemite.apk第3张

② 在手机设置中切换

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

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

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

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

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

Yosemite.apk第4张

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

① 设备连接不上

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

Yosemite.apk第5张

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

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

② text()接口输入失败

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

Yosemite.apk第6张

另外,有部分特殊型号的手机存在不兼容的情况,在使用 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 :

Yosemite.apk第7张

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

Yosemite.apk第8张

6.Yosemite的录屏功能

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

Yosemite.apk第9张

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

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

Yosemite.apk第10张

Airtest官网:http://airtest.netease.com/
Airtest教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b

转自:https://blog.csdn.net/AirtestProject/article/details/108493205

免责声明:文章转载自《Yosemite.apk》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Discuz!伪静态原理分析winform listview控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 换肤功能的实现(Apk插件方式)

一、概述 由于Android 没有提供一套统一的换肤机制,我猜可能是因为国外更注重功能和体验的原因 所以国内如果要做一个漂亮的换肤方案,需要自己去实现。 目前换肤的方法大概有三种方案: (1)把皮肤资源文件内置于应用程序Apk的资源目录下,这种方案最简单,但是导致apk安装包比会比比较大,而且不好管理 (2)将皮肤资源文件打包成zip的资源文件方式提供,该...

安卓Design包之CoordinatorLayout配合AppBarLayout,ToolBar,TabLaout的使用

转载:  CoordinatorLayout配合AppBarLayout,Toolbar和TabLayout的使用控件的简单介绍: AppBarLayout:它是继承LinerLayout实现的一个ViewGroup容器组件,是为了Material Design而设计的App Bar,支持手势滑动操作。 默认的AppBarLayout是垂直方向的,它的作用...

android开发之shape详解

很多时候,使用shape能够实现的效果,你用一张图片也能够实现,但问题是一张图片无论你怎么压缩,它都不可能比一个xml文件小,因此,为了获得一个高性能的手机App,我们在开发中应该遵循这样一个原则:能够用shape实现的效果尽量不使用图片来实现。 今天我们就一起来看看shape的使用。 首先,使用shape画的图形,这个xml文件的根节点是shape,如下...

Weixin 之 微信二维码扫描下载 Apk

制作的手机 app 需要上线,生成二维码扫描进行下载,把生成好的apk挂在服务器端,将地址复制下来,通过草料二维码(http://cli.im/)生成一个二维码。 在更多中,你会看到有个app的选项,为什么不选择app呢。点开之后你会发现:它需要一个应用宝ID。上传到应用宝,光审批就要好几天,特别烦。并且上传到应用宝,自己管理起来感觉很麻烦。 通过网址的...

移动端的几个面试小问题

1. 安卓下大面积触摸会导致触发touchmove的问题   判断一下touchstart的上一次位置和当前位置是否一样,一样就使move return掉 <body> <div class="page"> <div id="box"></div> </div> <script ty...

安卓智能聊天机器人开发(二)

接上一篇文章《安卓智能聊天机器人开发(一)》,晚上继续写。 在上一篇文章中,已经实现了对网络数据的获取和处理封装,这篇文章来讲下如何嵌入到安卓应用中。 先看下效果图: 从上面两张图我们可以发现,这个聊天布局其实就是一个ListView,只不过它和传统的ListView有些区别,因为它使用了多Item样式布局 首先,先来分析下基础布局: 这个界面是由3个布...