移动端 iOS 与后台进行联调的检查清单

2017-08-26  本文已影响94人  吴佩在天涯

0、缘起

这周和后台进行联调,不是我这边出一点问题,就是后台出点问题。

很多时候,都是看起来很弱智的问题。

尽管这些问题,在调试成功之后,大家都会觉得是小问题。就好像,那些总是考试得99分的同学,从来不会认真去想想自己那一分到底错在哪里?

所以,我打算把这些我自己经常犯的傻逼错误记录下来。作为一个检查清单,作为下次联调的执行套路。

主要针对前端检查。

1、检查路线

1、检查自己的URL是否,拼接错误。这一条,可以使用postman,向后台发出请求。一检查就知道了。

2、postman成功后,对照检查自己的URL,特别是检查参数的格式。

3、如果检查完毕之后,还是无法从后台得到数据。

大概可以这样排查:

1、环境问题

问清楚后台,现在的后台到底是线上环境还是测试环境?这一点,经常会坑死人。因为,信息沟通不充分。完全可能耗费几个小时在上面。一点不夸张。我不止一次在这上面犯错。尽管事后都骂自己是个傻子。

2、WiFi问题

线上环境,一般是外网可以访问的。测试环境,一般只有公司内部的WiFi可以访问。

但手机本身是不会识别的。所以在测试之前,最好检查一下WiFi。
有的公司真的很奇葩。有的WiFi,两个环境都能访问,有的只能访问一个环境。
痛苦的事,很多时候,WiFi改变了访问权限还不周知。。。

所以,也要检查一下。

3、账号问题

很多APP都是需要登录进行测试的。

线上环境和测试环境的账号肯定是不一样的。

注意不要用错。

2、参数格式问题

对于网络请求,处理最多的就是POST请求。

对于参数的传递,也基本都是使用组装的 NSDictionary。

毕竟,字典的结构和JSON是一样的。

偶尔会出现一些不一样的情况。

例如:

参数是这个样子:

@{

@"catalog" : catalog,

@"info" : info对象

}

info 对象肯定也是一个字典。

我采取常规 NSDictionary 的方式,传递参数的时候。

网络请求总是失败。

所以换了另外一种方式。把 info对象,转换成 JSON字符串。使用方法如下:

NSError *parseError = nil;
//info 就是字典
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:info  options:NSJSONWritingPrettyPrinted error:&parseError];

NSString *str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

最后参数变成:

@{

@"catalog" : catalog,

@"info" : str //已经是JSON字符串

}

和这相似的还有数组数据的上传。

参见:post一个数组给服务器

3、小结

尽管很多小的问题,看起来都很不起眼。

但正是这些看起来有点弱智的问题,会白白让人浪费许多时间。

希望,留给自己和大家一些借鉴。

上一篇下一篇

猜你喜欢

热点阅读