时间:2021-05-19
在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象。为了解决这种现象,因此,我们又寻找到了更加合适的模拟器-夜神模拟器。该模拟器除了安装包有点大之外,其速度是特别快,基本和真机速度无差,甚至是还要更快些,这样一款速度可以媲美真机的模拟器,更加有利于我们后期的安卓自动化测试。下面就从夜神模拟器的选择原因及夜神模拟器的使用两方面讲述。
一、夜神模拟器的选择原因
众所周知,Android studio的模拟器运行速度也很快,可以媲美真机。虽然其运行速度很快,可以满足我们测试的需求。但仍存在以下问题:
(1)Android studio的模拟器无法连接wifi,修改dns,不能用测试环境的版本去进行Monkeyrunner脚本的运行及测试;
(2)如果选用真机,修改dns后,可以用测试版本,但无法采用HierarchyViewer获取控件ID,运行Monkeyrunner会报错。
有人又会说(2)中,使用真机可以选择获取控件坐标,不使用控件ID,这里使用控件ID的原因,见文章尾解释。下面附加一个真机使用HierarchyViewer报错截图。
运行结果:失败
原因:脚本中调用到了HierarchyViewer,但是真机中没有开启view server。
基于上述两种原因,因此,我们选择夜神模拟器作为测试中要使用的模拟器。夜神模拟器对于我们来说,好处就是可以连接wifi,修改dns,速度快,但是内存比较大。
二、夜神模拟器的设置与连接
1.模拟器下载与设置
夜神模拟器占用内存比较大,可以去官网下载:http://ponentName)easy_device=EasyMonkeyDevice(device) #必须在activity启动之后easy_device.touch(By.id('id/input_login_phone'),MonkeyDevice.DOWN_AND_UP) #获取输入账号的控件IDdevice.type('18511111111') #在账号输入框中输入账号
查看模拟器中是否有输入。注意,monkeyrunner运行上述py文件时,会失败报错。
原因:python编码的问题, python中默认的编码格式是ASCII格式,所以,没有修改编码格式时无法显示中文。
解决方法:在每一个需要显示中文的python文件中,加入#coding:utf-8、#-*-coding:utf-8 -*-或#vim: set fileencoding:utf-8,我们这边选择#coding:utf-8。
即,在上述的py文件的顶部,加入#coding:utf-8后,再运行,则可以运行成功。
四、控件ID的使用原因
Monkeyrunner需要通过获取控件坐标或控件ID,编写脚本运行。但是,获取控件坐标会由于不同分辨率,导致脚本不能复用,需要重新获取坐标,这样Monkeyrunner脚本的可用性比较差。
所以我们采取通过Hierarchy Viewer获取控件ID编写脚本(后面会有文章讲述获取ID或坐标方法)。但Hierarchy Viewer只能连接Android开发版手机或是模拟器,网上虽然有一些如何把手机root和打开view service的文章,建议不要尝试,手机容易变砖或者不断重启。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。一、Monkeyrunner简介
以雷电模拟器为例,闲鱼电脑版安装的步骤如下: 1、首先打开百度,并搜索雷电模拟器; 2、其次进入官网,随后点击模拟器下载; 3、然后安装模拟器,完成后打开
逍遥安卓模拟器是一款性能强大的安卓模拟器,可以支持无限多开,逍遥安卓模拟器怎么用?下面就带来逍遥安卓模拟器详细安装和使用教程。软件名称:逍遥安卓模拟器MEmuA
重力脚本是使用BlueStacks安卓模拟器玩重力感应游戏的一个插件,如何在BlueStacks安卓模拟器上安装和使用重力脚本?BlueStacks安卓模拟器的
1、首先安装安卓模拟器,具体的安装步骤请查看:安卓模拟器安装图文教程 2、安装好安卓模拟器之后呢,就下载微信安卓版【点此下载】 3、接下来就双击下载好的