最近线上的问题有点多。各种兼容性的问题,还有手动测试遗漏的一些问题。如果用自动化来补充手工测试,线上很多问题都可以避免。 谈到自动化测试,我只能呵呵。 兼容性测试,靠手工,靠现有的几个机型,总是不能覆盖全。
周末的时候,趁着娃在玩,看了一下自动化测试。 用真机不太现实,不可能一直连着设备,还要充电等,况且真机还要做业务测试。 先是用大名鼎鼎的 genymotion,这个是比较正牌的,可以装各种版本的镜像,虽然只支持三星,google的手机,以前也用它来跑自动化测试,感觉还行。今天再打开它,但是感觉太慢了。 发现国内很多模拟器,基本上都是玩游戏的,似乎运行都很流畅。 先尝试了一下夜神模拟器。 装好以后,设置为手机模式。 用adb来连接。 nox_adb.exe connect 127.0.0.1:62001 或者是 adb connect 127.0.0.1:52001 adb connect 127.0.0.1:62001 流畅度还可以,起码比genymotion快。
然后看了逍遥模拟器,据说游戏测评起来是最流畅的。 adb connect 127.0.0.1:21503
看起来界面都差不多。 可以模拟各种国产手机型号。
看起来是很美好,可是android版本太低。 于是想可不可以装个高版本的,可以用多开。
但是最高也是Android7. 看来国内厂商对这块不太重视,更新不太及时哈。
它可以多开,同时开几个模拟器,如果是genymotion, 估计电脑都卡得跑不动了。 如果多开,该怎么连接呢? 【多开连接】 单开一个夜神模拟器相信很多人都知道怎么连的,环境变量怎么配置的这里就不多说了。 cmd打开命令窗口,敲入tasklist命令,你会发现有一大堆东西出来,其他的不用管,找到NoxVMHandle.exe对应的PID,我这里开了两个模拟器,所以会有两个handle
运行命令:netstat -ano |findstr 18628(18628是NoxVMHandler.exe对应的PID) 找到端口号62开头的就是了
运行连接命令,再查看连接设备,一般都OK的
再啰嗦一下,我发现夜神模拟器多开的第二个设备它的端口号就是62005,所以每次连接第二个模拟器不需要敲那么一大堆命令,直接adb连接127.0.0.1:62025就好了
还有一个方法 如果有多个模拟器,就需要指定多个adb端口,逍遥模拟器配置文件在:
{install path}\Microvirt\MEmu\MemuHyperv VMs\MEmu\MEmu.memu-prev
这个目录下会看到已存在的模拟器(因为我开了2个模拟器:MEmu和MEmu_1,所以这里看到的是2个文件夹),比如说我要看MEmu的设备id,进入MEmu文件夹,找到menu-pre文件,打开该文件,搜索ADB,就可以看到Menu这个设备的id。 这样就可以同时跑多个虚拟设备了。
设置代理
先到setting
打开无线网络
鼠标放到WiredSSID长按会出现弹出框 然后就跟真机设置代理一样了。
还可以用命令来设置代理:
adb shell settings put global http_proxy 192.168.22.187:8888
清除代理
adb shell settings put global http_proxy :0
通过设置代理,清除代理,不用重启
设置代理.bat
@echo off
echo 开始连接...
adb connect 127.0.0.1:21533
adb shell settings put global http_proxy 192.168.22.187:10001
echo 设置成功!
pause
清除代理.bat
@echo off
echo 开始连接...
adb connect 127.0.0.1:21533
adb shell settings put global http_proxy :0
echo 清除成功!
pause
不得不说,国产的那些模拟器,各个都很流畅。用来跑自动化测试,真的没啥话说。 但是如果要测兼容性,还是得想想别的办法,毕竟天底下没有免费的午餐。