或许当前有些小伙伴没 android 手机,这时候可以在电脑上开个模拟器玩玩,下面就分别介绍两种不同的模拟器,下面和大家一起学习交流。
一、android 模拟器 AVD
模拟器配置
1.双击启动 AVD Manager,进入配置界面
2.点 Create 按钮创建
3.3.配置模拟器基本信息
--AVD Name:设备名称,自己定义一个,用英文(不要用中文)
--Device:设备型号,如下图选项意思是,4.7 寸手机,768*1280 分辨率,屏幕密度:xhdpi
--Target:选对应 API 版本号,Android 版本号 4.4.2,对应 API 版本 19
--CPU/ABI:cpu 型号
--Keyboard:这个最好勾选,带键盘按钮
--Skin:皮肤设置,随意设置
--Front Camera:前置摄像头,设置为 None
--Back Camera:后置摄像头,设置为 None
--Memory Option :RAM 运行内存,设置 512 就行,VM Heap 这个是 app 的运行内存默认设置的 64 就行
--Internal Storage:手机本身的存储卡大小
--SD Card:外部 SD 卡的内存
4.设置好后点 OK 保存,弹出以下界面说明保存成功
5.选中上面创建成功的模拟器,点 start 按钮,然后点 Launch 按钮就能启动了
6.接下来就是耐心等待几分钟(电脑性能不好的等 5-10 分钟),运行成功出现,如下界面
7.看到上面这个界面说明启动成功了,然后跟平常操作手机一样点点点了,接下来用 adb 工具检查下设备,打开 cmd 输入adb devices
到这里模拟器就启动成功了,这样替代了真机连数据线去连电脑了.(当然,有Android手机的童靴也可以直接用真机来测试)
二、夜神模拟器
1.下载链接:夜神模拟器版本,下载最新版本即可。你也可以使用Genymotion (也是国外的网站,需要注册使用-不要去看国内中文网,毛用没有,都是外链)
2.安装过程请自行百度(傻瓜式安装即可)
3.出现如下图即为安装成功
4.模拟器配置
>配置系统环境:在Path中添加C:\Programfile\Nox\bin; (夜神模拟器安装的bin目录)
然后进入这个目录下,启动cmd,输入nox_adb.exe connect 127.0.0.1:62001(为了adb连接模拟器),可能会出现以下的情况,那就是因为你的adb版本和模拟器中的adb版本不同,而且环境变量配置有问题,所以保证环境变量按照上边写的配置好以后,看下边图1和图2
>验证问题描述情况:(验证之前需要先配置环境变量,将SDK下的adb所在目录(D:\Program Files\Android\adt-bundle-windows-x86\sdk\platform-tools)、以及夜神模拟器的adb所在目录(D:\Program Files (x86)\nox\bin)加入了系统的环境变量path中)
>解决办法:
a、关掉夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
b、找到SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe。
再次进入这个目录下,启动cmd,输入 nox_adb.exe connect 127.0.0.1:62001,再继续,输入adb devices,看看是不是连接成功了?
三、appium+pycharm+连接夜神模拟器
1.首先打开pycharm并写好代码,这里以淘宝APK作为测试Demo,淘宝APK我是放在电脑桌面(或者放置同代码同个目录下)。如下图所示
其中|:driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #这个地址是怎么来的呢?,见appium设置项,如下图所示
2.打开appium并点击右上角三角符号,如下图所示
3.打开夜神模拟器,如下图所示
4.打开CMD,进入夜神模拟器的安装路径下:D:\java\appium\nox_moniqi\Nox\bin,运行指令:nox_adb.exe connect 127.0.0.1:62001和指令adb devices查看设备名,如下图所示
5.运行pycharm代码,并查看结果,如下图所示(暂时不理会出错问题,后续会讲解):
遇到的坑1:在CMD指令中输入appium,提示如下图所示
解决方式:降低nodejs的版本,参考链接cmd中提示appium错误
遇到的坑2:运行appium提示error: Couldn't start Appium REST http interface listener. Requested port is already in use. Please make sure there's no other instance of Appium running already.
解决方式:因为端口被node占用,可以用如下退出node,找出PID命令::netstat -ano|findstr "7922" (这个4723是被占用的端口,我们需要先找该占用该端口程序的PID)。停止PID命令:taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程)。
四、appium+pycharm+连接AVD模拟器
这里我就不做研究,想研究的童鞋可以去探讨下,不懂的地方大家可以一起交流学习。
参考资料:appium运行的坑及解决方法