使用Fiddler工具AutoResponse功能测试天气APP

发表于:2020-4-08 11:21

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

 作者:软件测试艺术    来源:软件测试艺术

  今天主要讲解使用Fiddler抓包工具抓取华为手机上天气APP的数据,然后对数据进行更改,测试温度、天气动画等显示。测试机为华为荣耀MAX  8X,Android P系统,测试北京的天气显示。本文主要讲解分析和测试方法,因为不同的品牌手机使用的天气接口不一样,导致需要修改的接口数据不一样,需要我们融会贯通。首先要找到天气APP调用数据的网站,如华为天气APP都是从中国天气通https://www.accuweather.com/获取的数据,然后就去搜索对应的网站开发API,如当前我获取到如下对应的网址:
  天气图标https://developer.accuweather.com/weather-icons
  所有数据接口https://developer.accuweather.com/apis
  当前天气API的详细介绍,可以看这个网页来确认每个字段的意义,后续根据这个来修改
  https://developer.accuweather.com/accuweather-current-conditions-api/apis/get/currentconditions/v1/%7BlocationKey%7D
  开始测试:
  1、首先PC端配置好Fiddler能对手机程序进行抓包,具体怎么安装和配置就不多说了,网上可以找到非常多的文章,按照步骤几分钟就可以配置好,推荐一篇配置的文章如下:
  https://www.cnblogs.com/meitian/p/4997310.html
  2、在手机上打开天气APP,先任意刷新下,抓取部分天气APP的数据,主要是获取到天气APP使用的天气接口,如当前的接口是api.accuweather.com;
  防止不必要的其他数据,将该接口网址添加到过滤器,界面显示如截图设置:
  备注:如果刷新的时候没有数据是因为天气APP有缓存数据没有去请求,这个时候多刷新几次就可以,或者先移除该城市然后在添加
  3、将获取的到数据保存到本地,使用电脑中已有的文本工具打开然后保存即可,格式可以是txt或者html都可,本文保存为html的格式,保存后数据如下:
  4、添加一个新城市,获取到APP所有的请求接口,如华为手机天气APP获取到的所有接口数据网址共有6个接口,如下图所示:
  Current Conditions API:获取特定位置的当前条件数据。这个接口获取的数据就是显示当前温度的,也就是我们天气APP看到的当前城市温度;
  Forecast API:获取特定位置的预测信息。Hourly主要是预测返回1H、12H、24H、72H、120H的天气数据信息;Daily主要预测返回1D、5D、10D、15D的天气数据信息;
  Locations API:获取所需位置的位置信息,然后使用位置信息从Forecast或Current Conditions API中检索天气数据。
  Airquality API:官方API中没有找到该接口描述,从名称来看就是反馈空气质量数据的。
  5、将6个接口的数据都保存下来留存好,点击界面右下角的“View in NotePad“或”…“,使用本机的文档工具打开,然后选择另存为保存到电脑本地,保留的步骤如下:
  保存下来的6个重要文件如下:
  6、通过分析上述的接口,找到需要更改的数据,然后进行更改,如需要更改温度为显示为80度,我们可以更改currentconditions.htm中的数据,将字段“Temperature“的华氏温度设置为176即可,如下图:
  7、将如下图中的接口添加到AutoResponder规则器中,注意后续测试的时候也要选择101924的地区(北京地区,不同的ID Key代表的地区不一样,测试选错地区则匹配不上)“http://api.accuweather.com/currentconditions/v1/101924.json?apikey=41b7800bfcb9447daa29f7aa40f2d1ec&language=zh-CN&details=true
  8、替换Response文档,即当前界面替换之前修改温度的文本(currentconditions.htm),如下图,然后点击Save,具体的替换方式网上有非常多的介绍:
  9、刷新当前区域的手机,查看温度显示,如下我的测试机显示截图(注意可能刷不出来,记得移除城市在添加):
  10、如其他的更改天气图标、天气警报、恶劣天气动画显示、空气质量等都可以通过修改对应的响应文件修改数据后然后重启请求,如显示如下。
  备注:
  1)在修改如空气质量指数的各种如PM2.5,NO2,SO2,O3,CO等值的时候,如果值从1位修改为2位的数值,一定要把原始值“2.000”修改为“22.00”才能生效,如果要改成3位的则为“123.0”,相应的小数位同时要去掉1位。如果原数字为“22.0”则最大只能修改为“99.0”暂未找到原因,例如上图中的PM2.5值和空气指数。
  大家可以尝试测试其他的APP更改界面显示的内容,今天就讲到这里了,主要讲解Fiddler的AutoResponse用法及其分析思路。
  好了,到现在为止主要使用Fiddler工具测试了手机天气APP中各种界面显示,本文主要讲解的分析和测试方法,可以运用到其他各种APP界面显示等测试。还有注意测试完之后一定要记得将手机WIFI设置的主机和端口去掉,否则当电脑没开的时候手机是无法上网的。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号