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

夜神模拟器的安装与使

夜神模拟器的安装与使用相关推荐

  1. Fiddler / Charles - 夜神模拟器证书安装App抓包

    Fiddler/Charles - 夜神模拟器证书安装App抓包 文章目录 Fiddler/Charles - 夜神模拟器证书安装App抓包 前言 一.软件安装 1.Openssl安装 1.1下载安装 ...

  2. monkeyrunner之夜神模拟器的安装与使用(二)

    在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...

  3. Android SDK+appium+夜神模拟器,安装配置

    首先下载Android SDK 百度网盘共享链接: https://pan.baidu.com/s/1sLWbC5grXN1X8OFAQ632gg 提取码:24g4 下载解压后配置环境变量 变量名AN ...

  4. 夜神模拟器的安装和使用

    1.需要提前下载 夜神模拟器的安装包. 2.点击.exe进行安装. 3.进入界面. 4.点击右上角"系统设置"按钮->修改夜神模拟器参数后点击保存设置. 5.开选择" ...

  5. Burp Suite抓包夜神模拟器与安装证书完整版!(APP渗透测试)

    burp抓夜神模拟器包,用来做APP渗透测试等.(其他的模拟器也是这样) 看网上的都比较乱,就自己写一个吧. 一.下载夜神模拟器和burp 夜神官网:https://www.yeshen.com/ b ...

  6. 超详细图文介绍在夜神模拟器上安装Frida框架

    一.连接模拟器 安装夜神安卓模拟器后,电脑桌面会有"夜神模拟器"的启动图标,鼠标右键–打开文件所在的位置,就会进入***\Nox\bin,比如楼主的路径是C:\Program Fi ...

  7. 夜神模拟器apk安装方式

    第一种:直接在商店里面安装 第二种:直接网上下载好,拖拽到模拟器里安装即可 第三种:模拟器安装的根目录找到adb.exe,使用adb.exe install douyin_v3.0.0.apk

  8. 如何安装和使用Android夜神模拟器

    夜神模拟器,是全新一代的安卓模拟器,能够让你在电脑上畅玩手机游戏.与传统安卓模拟器相比,基于Android7.1内核,同时向下兼容Android5.1内核以及X86/AMD,具备极高的兼容性和稳定性. ...

  9. 【APP测试】Windows下夜神模拟器的Drozer安装与连接

    记录一次完整的安装过程,百度了很多教程,愣是把这个弄出来了,重重困难啊差点崩溃,写下来当作自己的笔记! 需要的环境 夜神模拟器 python2.7的环境 Drozer adb,哈哈,我下载了怎么弄都不 ...

最新文章

  1. 搭建nexus后,进入首页的时候出现warning: Could not connect to Nexus.错误
  2. element 修改表单值后表单验证无效_javascript自学记录:表单脚本1
  3. 安卓开发笔记(二十七):实现轮播文字消息
  4. SPT20 协议_至为芯科技IP5356又一款支持PD输出20W的全协议快充移动电源SOC
  5. hdu 5199 map或二分或哈希
  6. MongoDB第一课,shell命令下的增删改查
  7. win11关机后主机依旧运行怎么办 Windows11关机后主机依旧运行的解决方法
  8. ScrewTurn Wiki 初识
  9. 0=iiLen 在C++中
  10. UT源码+105032014036
  11. 怎么清理服务器数据库日志文件,SQL SERVER 数据库日志清理图文教程
  12. c++创建一个linux deamon进程
  13. android的otg功能,android怎么打开otg功能
  14. AM335X-IO输入总是读不到输入电平——8
  15. 关于前端架构的过去、现在与未来
  16. 相机投影变换(位姿)
  17. 综合latch 规避
  18. Python wxpy 操作微信 大全集
  19. 大功率的用电电器为什么要用三孔插座?
  20. MYSQL 存储过程的简单使用

热门文章

  1. QSqlDatabase: QMYSQL driver not loaded 解决方案
  2. 苹果ios签名过期了,APP应用还能照常使用吗?
  3. 个人或团队项目怎么起包名
  4. 机械硬盘提示格式化的常见原因|3种数据恢复方法
  5. android倒计时dialog,倒计时 Dialog
  6. [转]手机游戏六大渠道评测标准大合集
  7. 计算机考试怎么考申论,公务员考试申论评分标准,这些你都知道吗?
  8. mysql中的round函数(*)
  9. 基于springboot的资产管理系统
  10. python爬虫需要哪些基础知识-【PYTHON】【爬虫】关于python爬虫的一些基础知识