微信公众号的调试与测试

“欢迎勾搭心月小姐姐,了解近期开班”

1、微信公众号交互流程

微信用户给微信公众号发送信息之后,消息到达微信服务器被处理成XML数据包并转发给开发者服务后台(URL),开发者服务器接收到数据包之后就会把用户信息经过一些列的逻辑处理并将应答结果发送给微信服务器,最后微信服务器将信息推送给用户。

数据交互的流程:用户发送消息—到达微信服务器—转发给开发者服务器—转送微信服务器—推送给用户

2、微信公众号开发模式

微信公众平台为公众号提供了一些基本的功能模块,比如自定义公众号菜单、自动回复等,但是限制比较大,不一定能够满足应用需求,需要用户自己开发。

对于微信公众号的开发,需要有一定的代码开发能力,过程比较复杂,但是配置灵活、功能丰富,能极大的满足应用需求。

对微信进行开发之前,需按照要求完成配置并启动服务器配置,完成之后就可在URL对应的服务器上进行开发。在启动开发模式之后,微信公众号系统定义的自动回复与自定义菜单等均失效。

字段解释说明:

AppId:应用ID,微信开发者编号,在微信中主要用于创建微信菜单等

AppSecret:应用密匙,与AppID相配合的,可理解为这是私密的应用编号。

URL:外部服务所在的地方,当被启用时,微信公众号的自定义菜单、自动回复等均失效,所有的用户请求操作由微信服务器转发到URl所在的服务进行解析响应。

Token:两台服务器之间的密钥,它可以让公众账号服务器确认请求是来自微信后台还是恶意的第三方。

3、微信平台公众测试账号

微信服务号的申请认证是一个时间周期较长的过程,而不同的公众号类型又有不同的接口权限,具体情况如下表所示:

微信平台公众测试账号的优势:

1、 测试公众号拥有所有的接口使用权限,不用等待公众服务号的申请、认证,直接进行相关的开发测试。

2、 对已有公众号,可在测试号上先对新开发功能进行测试验证,待功能稳定之后再添加到公众服务号上。

微信测试公众号的缺点:

1、调用接口的频率限制次数远小于正常的服务号。

2、粉丝不能超过100人,使用期限为1年。

3、微信公众号的调试测试

(1) 微信公众平台接口调试工具

微信公众平台接口调试工具是微信官方提供的,其目的是帮助开发者检测调用微信公众平台开发者API时发送的请求参数是否正确,提交相关信息后可获得服务器的验证结果。

1)access_tocken获取

在使用接口调试工具时,首先通过appid和secret获取access_tocken, access_token是全局唯一接口调用凭据,公众号调用各接口时都需使用access_token,access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。参数如下图填写所示,在请求发出之后,得到的微信服务器应答,应答结果包含了access_tocken与其有效期。

2)消息接口调试

消息信息调试如下图所示,用户向公众号发出信息操作请求,其中请求参数列表包括URl,为服务所在的地方,即开发后的接口地址。请求发出时会将信息推送到该服务地址上,然后服务后台根据接收到的操作请求,做出相应的应答,并返回应答码。

返回结果

优点:

调试方便,可以验证请求参数与应答信息。

缺点:

只有返回码,没有直观的微信页面模拟显示,对命令参数要比较熟悉。

2、 微信调试器

优点:

调试简单,带有信息发送请求模板,结果页面模拟显示。

缺点:

可调试的接口数目较少。

总结:

微信公众号只是一个媒介平台,通常公众号只是用来使用微信提供的接口获取用户的唯一表示、地域、微信相关的信息等传递给使用者的应用,因此,主要的测试工作还是测试使用者服务本身。通常我们只需要截获或模拟微信公众号发送的请求(少量的几个入口),重放或重新组织,以达到模拟从微信带参跳转,即可达到mock的目的,从而只关注使用者自身的应用的测试即可。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307B12PBF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券