微信公众平台如何实现本地测试?

zhjie
  • 1.1k

使用Python,flask处理后端。

每次在本地写好代码,push 到github,ssh 到服务器,pull下来代码,运行测试,感觉很不方便,有没有方法什么可以在本地测试的?

可不可以有方法实现在本地直接输入要进行测试的信息,像web开发一样,写好网页在本地运行,输入需要post的请求,看返回结果是否正确。

求大神指导~

回复
阅读 53k
8 个回答
泥坤
  • 105
✓ 已被采纳

小宏_Red

有一个开源项目,用于微信公众平台应用的本地化测试,项目地址https://github.com/xred/WeTest 在api地址里填入你的微信项目的请求地址,可以是在服务器上,也可以是localhost上,然后在输入内容里打入要发的内容,上面的框框右半部分会显示返回的内容

jawa
  • 72

所谓「模拟」,最好是尽可能接近或直接使用线上环境,比较典型的例子是:早期微信如果xml response组织有误,会直接显示出来xml,现在不会了,自己写的模拟器你怎么操作?

我现在的办法楼主可以借鉴一下(适用于开发环境),需要有三个前提:

方法一:

  1. 本地热部署环境(废话,PHP版本> 5.4直接:php -S 0.0.0.0:80 、 Python: python -m SimpleHTTPServer)
  2. 外网IP要有一个(这个如果是ADSL的话,自动IP也没那么快切换,大概几小时或者重启路由一次吧)
  3. 有一个二级测试域名或一级域名

附加:开发环境还是专门申请一个公号为好,特别是大的应用

接下来重点来了:

  1. 微信后台的URL写一个域名地址,例如:http://test.domain.com/index.php
  2. 将此域名绑定至DNSPod (也可以是其他解析)
  3. 直接修改DNSPod的MX纪录,把所有请求解析至本地

这是一个参考办法,楼主可以留意一下。

方法二: 1、在正式环境的nginx(假如是),设置一个proxy_pass到本机

以上两种都是我以前用过的办法,最早时是跟楼主一下,如果是使用github的话,还可以使用hook功能直接pull到服务器,后来用了第一种,修改域名解析的办法来干的。

推荐一个微信API的仿真模拟器(Ruby Wechat API Faker),实现了几乎全部的微信API,包括微信消息发送与推送,用户管理,用户分组,微信二维码扫码,微信群发消息等等。

实在是微信公共平台开发调试利器!

软件网址:
https://github.com/xixilive/wecheat.git

https://natapp.cn
超简单的内网穿透... 微信本地开发实时调试太方便了

我是使用花生壳在本地建站的。

这个命令行的测试工具应该可以满足你的测试 https://github.com/node-webot/webot-cli

鉴于大部分ADSL都封了80端口,所以想要本地调试,有以下条件:

  1. 公网服务器一台,用于监听来自微信服务器的请求
  2. 支持动态域名和端口转发的路由器

首先注册一个路由器支持的动态域名服务商,将动态域名绑定至路由器,同时在路由器上设置端口转发,比如你的公众平台程序的端口是2222,那就将wan口的2222转发至lan口2222

然后在公网服务器上用nginx监听80端口,解析你的子域名(如weixin.lfzyx.org),然后通过nginx的proxy_pass ,将请求转发至你的动态域名加2222端口。这样就可以通过weixin.lfzyx.org这个子域名调戏你的公众平台了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏