Android定位测试总结

发表于:2018-3-01 09:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Anna 搜狗测试    来源:51Testing软件测试网采编

  背景
  问题:前段时间老大去深圳出差,在群里反馈了这样一个问题,让小编心里一颤:在深圳使用泛灵犀,生活类别优先返回的还是北京的结果,如图所示:
  原因:经过一番排查确认,由于泛灵犀请求中带的经纬度参数是北京地区的,导致服务器返回了北京地区的相关推荐内容。
  小编需要深刻反省下:当时测这个功能时,对Android定位了解狠不足,遗漏掉相关的测试点。接下来和大家一起学习下Android定位相关知识。
  Android定位方式
  Android常用的三种定位方式有:基于GPS定位、基于基站定位、基于wifi定位。
  1)基于GPS定位
   GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的。
   GPS定位最大的优点就是其定位精确度高;缺点就是耗电高、定位慢、室内和地下室基本定位不到。
  2)基于基站定位
   根据采集到手机所处基站信息和手机相关信息(MNC、MCC、LAC)进行定位,基站定位最大的优点就是:定位速度快,缺点就是:定位精度稍微较差,无网络信号不能使用。 
  3)基于wifi定位:
   和基站定位类似,根据当前设备获取的wifi信息来进行定位。
  可以从Androidmanifest.xml查看程序优先使用的定位方式:
  Android应用定位原理
  LocationManager是用于管理Android的用户定位服务,使用它来监听获取当前的位置信息并定义要返回的信息,如经纬度、方位等,相关代码如下:
  Android定位测试注意
  1)定位正确性;
  2)定位权限;
  3)不同网络环境下的定位;
  4)不同环境下的定位;
  5)本地测试外地定位;
  6)定位产生的耗电量评测;
  7)定位失败的处理情况。
  上面提到的泛灵犀问题中,小编就是漏掉了本地测试外地定位的情况,关于“本地测试外地定位”的测试方法如下:
  自定义位置提供器:
  1)准备一台root手机;
  2)下载“伪装定位”app并安装;
  3)安装完毕,打开手机设置→开发人员选项,开启允许虚拟位置;
  4)回到软件主界面,在地图上选择你要模拟的地方,点击“穿越到这里”
  模拟器模拟:
  使用模拟器进行测试的时候可以使用DDMS进行经纬度设置,如图:
  白盒方式:
  由于定位代码最终获取的是一个位置对象,只需要在获取到位置对象后手动设置经纬度即可。程序中使用的位置对象一般是android.location.Location对象,调用它的setLatitude和setLongitude方法就可以设置经纬度。


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号