最近接触微信公众号项目的服务端测试,对具体的测试准备和流程做一下梳理和总结。
1、测试前的准备
1.1 下载微信开发者工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
根据自己系统来选择下载、安装相应的版本
1.2 把微信账号添加到要测试的公众号的微信开发者里
这个操作需要“微信公众平台”上由服务号来完成,服务号需要由公司级才能申请,所以我的微信账号是让开发同事帮我添加到要测试公众号的开发者里(开发同事有服务号)。
先要关注“公众平台安全助手”公众号,添加到开发者后,会接收到一条验证消息,确认后完成测试公众号开发者的绑定。
1.3 使用微信开发者工具
点击公众号中的tab
弹出获取用户权限,复制url
以“公众号网页”打开微信开发者工具
操作开发者工具
下图的说明:
框1、输入url地址并请求(获取到微信服务返回的code和state)
url地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx48dfd752281d66d8&redirect_uri=https%3A%2F%2Fkar-h5-wechat.hivoice.cn%2Fgood_story%3FappKey%3D2p5rszmtvb7qt4gqjj77b66shxxcu3o6w63johag%26appType%3Dlite3&response_type=code&scope=snsapi_userinfo&state=1541585539630#wechat_redirect
请求后,被重定向到测试应用服务,并返回code和state
code和state是微信返回的授权码,在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑
更详细的关于微信公众号授权相关的逻辑可以参考微信的开发文档:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
框2、获取access_token的接口(这个接口里的请求参数包含步骤1中获取到的code和state,如框4、5所示)
框3、拿到access_token后调用这个接口,获取karaccount(karaccount是用户访问应用服务的账号,应用服务很多接口的入参都包含karaccount)
串联起来,服务调用流程图可以绘制成下图: