夜神模拟器的安装与使用

news/2024/10/30 20:15:53/

转载:http://www.mamicode.com/info-detail-1537597.html

    安卓开发环境搭建中,我们创建并启动了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://www.yeshen.com/。下载完成后,按照安装提示,默认安装或自定义安装即可。

    安装成功后,打开模拟器,可以在设置中,设置成显示为手机版,重启后生效。以后,每次启动后,模拟器就是你所设置的手机的大小。同样,可

    以设置其他选项,这个根据自己需要设置。

技术分享

2.模拟器的连接

    模拟器设置完成后,在cmd窗口中,查看该模拟器是否连接上电脑,输入adb devices,结果显示没有设备连接。

技术分享

    接下来,就是如何使模拟器连接上电脑。打开夜神模拟器,然后cmd中进Android sdk下的platform-tools目录,然后执行命令:adb connect 

    127.0.0.1:62001。(如果环境变量中已配置ANDROID_HOME,则直接打开cmd,执行命令:adb connect 127.0.0.1:62001即可)。或者用夜神自

     带的non_adb.exe,进入到夜神安装目录下的bin目录中,执行命令:adb connect 127.0.0.1:62001。

技术分享 

    最后cmd窗口中,输入命令:adb devices,查看夜神模拟器已经连接上。

技术分享

三、夜神模拟器的使用

    和之前的任一款Android模拟器一样,安装我们自己需要的app,我们这里安装XXX的app,此时,由于没有修改wifi的dns,此时,连接的是线上环

    境。

1.dns的修改

    下面,我们修改dns为xx.x.x.x,切换到测试环境。

     设置页面,选择WLAN,可以看到已经连接的wifi,长按鼠标左键,弹框修改网络。

技术分享 

    点击修改网络,在网络详情页面,勾选“显示高级选项”,修改域名1为xx.x.x.x。

技术分享 

    现在可以打开app,输入测试账号进行登录了。

2.模拟器的简单使用

夜神模拟器直接双击打开启动就行。我们现在可以把Hierarchy Viewer打开,获取夜神模拟器中安装的个人端app登录页面的控件ID,并查看一下速度有没有达到我们的需求。

打开android-sdk\tools下面的hierarchyviewer.bat,运行,可以快速获取登录页面的账号输入框、密码输入框、登录按钮的ID。

技术分享

 

 技术分享 

    之后,将app切到登录页面,在夜神模拟器上运行登录页面的Monkeyrunner脚本。脚本如下,可以一步一步执行,也可以直接写到py文件中运行。

具体的脚本如下(脚本的编写会在后面文章中介绍):

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice

from com.android.monkeyrunner.easy import EasyMonkeyDevice   #提供了根据ID进行访问

from com.android.monkeyrunner.easy import By    #根据ID返回PyObject的方法

device=MonkeyRunner.waitForConnection(5,‘127.0.0.1:62001‘)  #连接夜神模拟器

MonkeyRunner.sleep(3.0)

packageName=‘xxxxxxxx‘

activity=‘xxxxxx‘

componentName=packageName+‘/‘+activity

device.startActivity(component=componentName)

easy_device=EasyMonkeyDevice(device)       #必须在activity启动之后

easy_device.touch(By.id(‘id/input_login_phone‘),MonkeyDevice.DOWN_AND_UP)        #获取输入账号的控件ID

device.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的文章,建议不要尝试,手机容易变砖或者不断重启。

夜神模拟器的安装与使



http://www.ppmy.cn/news/759337.html

相关文章

夜神模拟器apk超过2g安装失败,mumu模拟器可以安装

换了雷电的模拟器安装,提示比较友好。说是安装包太大了,换成64位。 转而,将夜神模拟器换成64位试试。 但是换成64位的夜神模拟器,还是安装失败。 后来经过同事推荐,mumu模拟器可以安装,经测试mumu模拟器可…

夜神模拟器 版本下载

一:各个版本 https://bbs.yeshen.com/forum.php?modviewthread&tid821&highlight%E5%8E%86%E5%8F%B2 charles:破解https://blog.csdn.net/ljy3066750788/article/details/120089581? 二:连不上网 1:测试浏览器 2:关闭…

夜神安卓模拟器为什么加载到99就不加载了

夜神安卓模拟器为什么加载到99就不加载了?有很多用户在打开夜神模拟器之时,发现每次加载到99%的时候就没反映了,下面通过这篇文章给大家讲讲解决方法。 夜神安卓模拟器卡在99 夜神安卓模拟器卡在99就不动了怎么办 友情提示:目前…

逍遥模拟器获取服务器信息出错,前沿科技资讯:逍遥安卓模拟器网络不稳定如何办(显示网络异常解决方法)...

科技、数码、互联网新闻如今都成为了大众所关注的热点了,眼下互联网、科技、数码已经与我们的生活息息相关,密不可分了。我们应该多为自己充电,多掌握些知识才能让自己见多识广,才能不断地提高自己的个人修为。.小编今天整理了一篇…

安卓模拟器网页游戏连不上服务器,关于夜神模拟器游戏无法联网的原因和解决方法,请逐一排查...

对于经常用电脑玩手游的玩家们来说,对夜神模拟器这款手游模拟器应该都不会感觉到陌生,因为它能支持游戏玩家一次性体验多种游戏。但是,在使用的过程中,有些用户反映夜神模拟器内游戏无法联网。出现夜神模拟器内游戏无法联网的情况…

给夜神模拟器设置好了代理之后,无法上网了,在设置代理之前都能上网的

问题: 给夜神模拟器设置好了代理之后,无法上网了,在设置代理之前都能上网的 解决方案: 打开抓包工具!!打开抓包工具!!打开抓包工具!!

Charles结合夜神模拟器证书安装App(本机电脑和手机或者模拟器处于同一个网络)

\第一步:设置代理 第二步:设置ssl代理 第三步:在charles中选择安装证书 第四步:获取安装ip地址和端口 第五步:打开夜神模拟器的网络wifi修改网络 第六步:修改网路代理配置网络ip端口参数 第七步&#xff1a…

天天模拟器显示获取服务器失败,天天模拟器无法联网怎么办-天天模拟器不能上网的解决方法 - 河东软件园...

天天模拟器是目前最热门的安卓模拟器软件,这是国内自主研发的一款优秀模拟器,其采用了持OpenGL硬件加速技术,能够帮助用户稳定的运行各类安卓应用,,并且具备了应用多开,软件具备了操作简单、稳定流畅等诸多…