赞
踩
2017年1月9号微信小程序正式上线,小程序无须安装就能使用,依托微信强大的生态环境,能做到很多H5所不能做的事情。
但对于小程序如何做测试,依然没有一个相应完整的操作文档。这里将从四个方面简单介绍如何对小程序进行测试。
在测试前,先简单理解下小程序特性。
小程序并不像服务端那样区别线上和线下版本,而是有开发版、体验版、线上版。
如果只是开发后端逻辑功能,可在三个版本中任意一个进行测试;如果是开发前端功能则需在相应的开发版/测试版进行测试。
三者具体区别如下:
为了保证小程序的快速访问和用户体验,微信会缓存小程序,包括小程序文件、授权数据、登录数据等。
使用小程序常碰到缓存问题,例如切换环境(线上线下互切)、cookie、发版、登陆等,简单粗暴的方法就是将小程序删掉重新进入即可。
小程序启动机制主要为“冷启动”&“热启动”.
海报页
以模板ID的形式推送服务通知;
微信公众号:需关注公众号&无须收集formId;小程序服务通知:收集formId;
formId有效期7d,如果用户没有可用的formId,则无法给用户推送相应消息;
通过点击操作单个/批量收集formId,主要存储在wtable,触发行为如支付、提交表单等;详情戳一戳它https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html
批量收集formId:POST请求,如zzwxpush/addFormIds
单个收集formId:GET请求,如zzwxpush/addFormId?formId
每个小程序收集的formId,只能用于对应的小程序,也只能用于对应的uid。例如闲置社108批量收集formId,却存储在小程序103,结果导致闲置社批量formId失败,而且小程序存储很多无效可用的formId,主要原因是由于前端传入参数source=103导致。
1.6.4版本开始陆续支持小程序内嵌M页。
M页不受限于小程序的层级页面,如【游戏M页】点击首页—》游戏频道为1层页面,而不是2层页面。
测试M页需做相应的适配,以在小程序能够正常使用,如登陆等。若M页嵌入native页面,则还需要额外做native页面交互的适配。如【游戏—我的拼团】没做适配,则提示此错误。
M测重点关注页面跳转功能,展示等问题。
测试微信侧消息时,由于线上访问和线下访问的账号是不通的,所以需要把线上数据写到线下,比如线上uid=1 线下uid=2,需要把线上uid=1 的信息,同步到线下uid=2的记录中,才能访问成功。
原因:由于微信公众号对于我们而言只有线上,并无所谓线下一套的说法,从而导致在线下测公众号消息的时候会打出“未关注公众号”日志,从而测不通。
解决:将线上相应用户的unionid和openid复制黏贴到线下用户中,步骤如下。
线上uid查询线上user库user_auth表获取用户source=26的unionid和openid;
在线下uid的user库user_auth表添加上述source=26的记录。
同时线下push库wechat_user_map表添加相应的unionid和openid,此时测试公众号就能通了。
若出现openid hint/unionid hint等错误,则说明同步的openid/unionid有问题,需要重新线上确认同步到线下。
原因:在线下测试时,由于操作不规范,经常会出现“用户未授权”的情况。如下错误展示,查询dbwww58com_user库 user_auth表,发现不存在对应小程序端的uid,即日志source=103,但库source=108 ,两个source对不上。
解决:将user_auth同步线上source=103即可。
测微信服务通知时,经常出现formid以下错误提示。
formid过期(有效期7d)&收集格式错误导致(格式为时间戳/字母+数字组成的32位)。
当前用户没有formid导致。
formid已使用导致,主要是同一时间可能多个用户收集formid,从而形成的formid可能一样。
相应form错误码说明如下:
明确每个小程序收集的formId,只能用于对应的小程序,也只能用于对应的uid。
目前发服务通知时,为防止用户下发失败,会重复调用formId接口3次,若3次下发都失败,则以公众号的形式下发服务通知(目前下发成功率达到98%)。
出现这种错误,首先需要确认url是否解析成小程序可跳转的链接;若已解析,则是小程序这个页面还没上线导致微信检索不到此链接导致。
page路径配置错误,重配即可。
为了方便小程序测试,已开发了入口构造工具&小程序码测试工具。
用于m页,以及小程序url页面入口跳转,若测渠道埋点,可额外添加参数值channel;
填入url参数格式:pages/webview/webview?url=https:xxxxx
开发过程中,涉及到扫描小程序码会跳转到线上版小程序,导致测试过程无法检测扫码跳转是否正确。如【首页改版V2-商品详情页小浮层】若直接识别小程序,则落地页为线上版小程序而不是相应的开发/测试版本,导致没调用到“商品详情页浮层”接口productDetailLayer
此工具主要是方便通过扫码跳转相应的版本,检查未上线时参数是否正确。 -【查看二维码】扫码查看相应的链接参数;
【打开二维码】扫码跳转相应的版本页面;
【测渠道埋点】扫码分享获取到相应的渠道参数;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。