iOS如何监听弱网?

摘要:
场景:我们可能经常使用iOS中的监控网络,但大多数都是监控网络类型,即2G/3G/4GFIFI,无论它们是否连接到网络。然而,当测试人员测试APP时,他们通常会进行弱网络测试,即在弱网络环境中测试APP。此时,APP会出现各种问题,例如缺少界面请求的数据,我们有没有办法监控像网络这样的薄弱网络?

场景:

iOS中我们可能经常用到监听网络,不过大部分是监听网络的类型,即2G/3G/4G WIFI,是否连接网络,然而测试人员对APP进行测试时候经常会有一个弱网测试,即在弱网环境下对APP进行测试,这个时候APP会出现各种问题,比如接口请求不到数据等问题,那么我们有没有办法像监听网络一样去监听弱网呢?

弱网测试:我们的经常用的抓包工具Charles就可以简易的模拟弱网环境,而我们的真机也可以在调试时候模拟弱网

设置-->开发者-->Status-->Enable打开,然后选择下面的每个选项,就可以模拟弱网了

思考1:

网上查了资料并没有直接监听弱网的资料,那么有什么其他办法可以做到这一点呢?

这个时候我想到了终端的ping命令,对一个baidu.com的ping结果如下:

那么能不能在iPhone上去ping我们的服务器,通过ping的结果去判断我们的网络环境呢?不多说,尝试一下。

Apple提供了一个系统的ping库,有兴趣的可以去看

https://developer.apple.com/library/content/samplecode/SimplePing/Listings/Common_SimplePing_m.html#//apple_ref/doc/uid/DTS10000716-Common_SimplePing_m-DontLinkElementID_4

我偷懒网上找了一个封装好的三方库STSimplePing,加入工程后进行测试结果如下:

正常网络情况下:

将弱网模拟调至100% lose结果如下:

结果都能收集到,若通过Ping判断网络方案合理的话,那么我们可以通过时间和丢包率来判断网络情况

思考2:

参考文档:http://www.cocoachina.com/ios/20160224/15407.html

分析了ReallyReachaAbility监控的原理,ReachaAbility监控网络状态的变化,ping判断网络是否真实连接及状态,通过定时器时时判断网络状态及真实的网络连接情况

免责声明:文章转载自《iOS如何监听弱网?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bedtools 的安装与使用redhat 7安装oracle 11gr2下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)

APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载。 最近涉足APP端测试,常见检查点总结如下:   一.业务方面: 1.  注册(无效数据剔除),登录(语音和短信验证码),第三方登录(微信,微博,qq),忘记密码处理,注册   (登录后身份判断校验);账号互踢(同一时间一个账号只能在一台...

H5网页在ios,android,微信中打开手机中的地图导航

需求 一个H5页面需要实现在ios的浏览器,android的浏览器以及微信中打开时支持打开手机的地图导航。 实现 let url = '' if (myBrowser1() === 'android') { // 判断是安卓环境 url = `androidamap://navi?sourceApplication=amap&poiname...

IOS越狱开发之开机启动APP

越狱环境搭建移步这里:http://www.cnblogs.com/ligun123/archive/2012/11/14/2770350.html 目前就我知道的开机启动有两种方式(仅限于越狱机器): 1、IOS设备开机后会自动加载LaunchDemos目录下面的Plist,这些Plist里面记录了相关的app信息,这些app都会在IOS开机后自动加载。...

zabbix监控MySQL主从状态

首先需要拥有zabbix环境及MySQL主从环境   搭建zabbix环境可参考:https://www.cnblogs.com/l999999999/p/12051165.html 需要用到三台虚拟机 一:192.168.238.141 zabbix-server 二:192.168.238.142 zabbix-agent mysql主 三:192.1...

React Native环境搭建

最近组里老大开始招RN的一些开发人员,也从最近的一些动向表明将来的功能有可能会由RN来编写了,而对于我是从事纯Native的android开发工作已经N多年了,对于RN组里面也有一些同事的技术分享,说实话对它是非常之抗拒的,觉着这玩意不会就像几年前出的PhoneGap那样鸡肋的技术吧,也就是用Webview去加载h5页面嘛,不可能代替Native的,直到最...

055、创建macvlan网络 (2019-03-22 周五)

参考https://www.cnblogs.com/CloudMan6/p/7364332.html     创建macvlan网络,需要指定使用哪块物理网卡进行通信   -o parent=ens192   创建macvlan网络,需要指定网络环境已经存在的网关,因为macvlan并不提供网关功能   --gateway 172.16.86.1   因...