微信公众平台开发需要哪些工具?

微信公众平台开发需要哪些工具?,第1张

在微信公众平台上面开发应用,流程是首先开发程序,开发完之后将你的程序上传到你的服务器,再将你的域名解析到这台服务器上,再将程序的一些访问网址添加到微信公众号后台的菜单选项里,基本这样就是一个完整的从开发到上线的大概步骤。

微信公众号的后台可以有很多种语言来开发,像一些javapythonphpnet等等,但是最多的还是用php作为后台语言的项目比较多,下面就介绍一下用php来开发微信公众平台所需要用到的开发工具。

用到的工具:

1,IDE源码编辑器,用来编写源代码,像一些主流的编辑器有sublime,phpStorm,Eclipse,ZendStudio,Notepad++等等,每个编辑器都有他的优势,notepad++比较适合小项目,其他几个都可以编写大型项目。

2,数据库管理软件,用来设计数据库,管理数据库,像用的比较多的有,phpmyadmin,这是用php写的web端的数据库管理软件,还有桌面端的navicatformysql,还有其他的,这里推荐用navicatformysql,用起来很方便,完全可以手动就能完成你对数据库的管理。

3,微信接口调试工具,用来调试你编写的程序和微信公众号平台的接口返回结果,来验证你和微信公众号平台之间的通信,比如是否成功获取微信用户身份信息,微信支付是否成功,微信公众号平台为开发者提供了网页版的接口调试工具,开发者可以直接在网页上调用需要用到的接口,接口主要包括:基础支持、向用户发送消息、用户管理、自定义菜单、硬件接入api接口调试等等;例如,获取用户的access_token,获取菜单修改的接口等等,选择你需要调用的接口,输入参数就可以进行调试你的接口,看看返回是否正确,是否返回错误信息,对应信息就行查找具体的原因,如果是源码问题,可以对照去进行修改你的源码bug。

4,源码上传工具,编写好的程序,接口调试完毕后,现在就可以把你的源码上传到你的服务器上,可以用ftp上传工具上传到你服务器上对应的目录下,比较好用的ftp有xftp,flashftp等等,也可以用版本管理工具,像git,svn将你开发好的程序提交到版本管理服务器上,版本管理服务器有很多免费的,像国外比较著名的有github,国内有gitee,然后在你的服务器上直接将最新版本的源码更新下来,。

这里推荐用版本控制管理软件git或者svn来传源码,不但可以更新源码而且还可以对你开发的源码版本就行管理。

同时需要将你的数据库数据上传到你的服务器上,用navicatformysql就可以了。

上面大概就是一个php语言开发微信公众平台的开发流程以及使用到的工具,如果觉得对你有所帮助,帮忙给小编点个赞,关注小编可以学习到更多编程方面的知识。

这个时候总是无奈的说:

你应该学习Python 或是Java

你应该掌握Selenium

又或者你需要学会jmeter,嗯,可能LoadRunner你应该学习

也许SoapUI是个不错的选择,或者你可是试试PostMan

其实这些都不是我真正的答案,我想说:只专注于一种编程语言或一种工具可能限制你的发挥,尤其可能限制了你在工作中提供的价值。如果你提供的价值在逐步退化,那么你的舞台可能突然谢幕,你的职业停滞不前,受到限制。

所以,什么最重要?当然是能力了!

下面我就介绍下2019最好用的10个自动化测试工具,希望可以充实你的知识库,打开你的职业发展舞台!

在自动化测试领域,自动化工具的核心地位毋庸置疑。我总结了最顶尖的自动化测试工具,这些工具可以帮助组织更好地定位自己,跟上软件测试的趋势。这份清单包含了开源和商业的自动化测试解决方案。

Selenium:WebUI自动化测试

Selenium是网页应用中最流行的开源自动化测试框架。起源于2000年,10多年来不断地完善,Selenium成为许多Web自动化测试人员的选择,尤其是那些有高级编程和脚本技能的人。Selenium也成为了其他开源自动化测试工具比如Katalon Studio,Watir,Protractor和Robot Framework的核心框架。

Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,FireFox,IE以及无头浏览器(没有界面))。它的脚本可以由各种各样的编程语言编写,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。

因为Selenium的灵活性,测试人员可以写各种复杂的、高级的测试脚本来应对各种复杂的问题,它需要高级的编程技能和付出来构建满足自己需求的自动化测试框架和库。

Appium:APP UI自动化测试

Appium是一个移动端自动化测试开源工具,支持iOS和Android平台,支持Python、Java等语言,即同一套Java或Python脚本可以同时运行在iOS和Android平台,Appium 是一个C/S架构,核心是一个Web服务器,它提供了一套REST的接口。当收到客户端的连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在HTTP响应中返还给客户端。

Jmeter:接口测试,性能测试

JMeter是一个开源的Java桌面应用程序,主要用于web应用程序的负载测试。它还支持单元测试和有限的功能测试。

它有很多好的特性,比如动态报告、可移植性、强大的测试IDE等,并且支持不同类型的应用程序、协议、shell脚本、Java对象和数据库。

Postman:接口测试

Postman 提供功能强大的Web API和HTTP请求的调试,它能够发送任何类型的HTTP请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和Headers。不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的Post Cloud用户还能够创建自己的 Team Library用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。

SoapUI:接口测试

SoapUI是一个非常流行的用于SOAP和REST的开源API测试自动化框架。它还支持功能测试、性能测试、数据驱动测试和测试报告。

Monkey:稳定性测试

软件附带在sdk中,适用于android和ios,通过adb shell,生成用户或系统的伪随机事件。压力测试结果:崩溃crash,无响应anr,基本命令:adb shell monkey 1000。

Robot Framework:Web UI自动化测试,接口测试

Robot Framework是一个开源自动化框架,它实现了用于验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。Robot Framework为不同的测试自动化需求提供框架。但是,通过使用Python和Java实现其他测试库,可以进一步扩展其测试功能。Selenium WebDriver是Robot Framework中常用的外部库。

测试工程师可以利用Robot Framework作为自动化框架,不仅可以进行Web测试,还可以用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员,可以轻松学习Robot Framework。

QTP:Web UI自动化测试

QTP是一种自动测试工具。使用 QTP 的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

QTP针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

LoadRunner:性能测试

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。

企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

Jenkins:持续集成

自动化构建编译,部署,任务执行,测试报告,邮件通知等。

使用开源测试工具有很多好处,尤其是无直接的购买成本,而且可定制,但也有一定的局限性。尤其是缺乏专业的技术支持,有限的许可支持以及脚本维护有时会成为一个挑战性的工作。

为了选择正确的自动化测试工具,你应该确保该工具是处于活跃维护状态的,并且与你所在企业业务、团队、技能匹配,并且是团队里有相应的专家。

因此在选择工具之前,你必须仔细研究,以便该工具能够满足你的测需求,并且能帮助你更好的执行测试。

微信公众号后台开发,如果更换服务器,IP和域名都可能做相应变化,此时在公众号访问就会出现“redirect_uri域名与后台配置不一致,错误码:10003”的提示,下面我们来看看具体怎么解决这个问题;

工具/材料

电脑,浏览器,访问服务器的软件

首先登录微信公众平台,点击开发栏下的“基本配置”,开发者ID和密码要记录一下,后面要用,再点击服务器配置的“修改配置”;

URL要修改为在用的链接,获取Token稍微麻烦些,AESKey随机生成即可,消息加解密方式根据需要选择;

接着来看怎么获取Token,点击“开发者工具”,选择“在线接口调试工具”,该工具一般用于本地调试,服务器调试方法不同;

复制开发者ID和密码到appid和secret的输入框;

密码如果忘记需要做重置处理,IP白名单也要做处理;

修改IP白名单时,多个IP做换行分隔,确认无误后,点击确认修改;

在“在线接口调试工具”里点击“检查问题”,返回结果参数中的“expires_in”即为需要的Token;

特别提示

服务器需要api测试程序去发送请求测试获取Token;

网络调试助手类软件通常提供TCP客户端、TCP服务器和UDP三种连接模式,是一种基于TCP/UDP协议的通信工具,接口是网口;串口调试助手是基于RS232接口的。即两者一体的工具有格西烽火、友善串口助手等。

1、打开超级终端软件。这时系统会弹出新建连接向导。 

2、在名称框中输入一个名字。 

3、选择连接时使用的接口,这里选择COM3。

4、根据设备类型设置连接参数。 

5、重新加电设备,进行配置界面。

6、配置完成,点击上方的断开图标。 断开成功,此时取下连接计算机的串口线即可。 

我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下:1、基础知识javautilTimer一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。此类是线程安全的:多个线程可以共享单个Timer对象而无需进行外部同步。javautilTimerTask由Timer安排为一次执行或重复执行的任务。2、示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日志中。首先创建一个需要定时执行的任务类,这个任务类需要继承TimerTask,然后重写run()方法,run()方法体中的代码就是定时需要执行的操作,在本demo中,就是获取连接池中当前可用连接数,并输出到日志中,具体实现代码如下:publicclassTaskAvailableConnectNumberextendsTimerTask{privateLoggerlog=LoggergetLogger(TaskAvailableConnectNumberclass);privateConnectionPoolpool=ConnectionPoolgetInstance();@Overridepublicvoidrun(){logdebug("当前连接池中可用连接数"+poolgetAvailableConnectNumber());}}下面定义一个监听器,负责在应用服务器启动时打开定时器,监听器需要实现ServletContextListener接口,并重写其中的contextInitialized()和contextDestroyed()方法,代码如下:publicclassOnLineListenerimplementsServletContextListener{privateLoggerlog=LoggergetLogger(OnLineListenerclass);Timertimer=null;//在应用服务器启动时,会执行该方法publicvoidcontextInitialized(ServletContextEventarg0){//创建一个定时器,用于安排需要定时执行的任务。timer=newTimer();//为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。timerschedule(newTaskAvailableConnectNumber(),0,30601000);logdebug("启动定时器");}//应用服务器关闭时,会执行该方法,完成关闭定时器的操作。publicvoidcontextDestroyed(ServletContextEventarg0){if(timer!=null){timercancel();//关闭定时器logdebug("-----定时器销毁--------");}}}监听器要想正常运行,需要在webxml文件中进行配置,配置信息如下:cnsdfilistenOnLineListener以上步骤完成后,一个简单的定时器就算开发完成了。

前言

Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。

对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。

Composer简介

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了

1请求方式:点开可以勾选请求协议是get、post等

2url地址栏:输入请求的url地址

3请求头:第三块区域可以输入请求头信息

4请求body:post请求在此区域输入body信息

5执行:Execute按钮点击后就可以执行请求了

6http版本:可以勾选http版本

7请求历史:执行完成后会在右侧History区域生成历史记录

模拟get请求

1在Composer区域地址栏输入博客首页: http://wwwcnblogscom/yoyoketang/

2选择get请求,点Execute执行,请求就可以发送成功啦

3请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情

4右侧history区域会多一个历史请求记录

5会话框选中该记录,查看测试结果:

选中该会话,点开Inspectors

response区域点开Raw区域

Raw查看的是HTML源码的数据

也可以点WebView,查看返回的web页面数据

Json数据

1有些post的请求参数和返回参数是Json格式的,如博客园的登录请求: https://passportcnblogscom/user/signin

2在登录页面手动输入账号和密码,登录成功。

3找到这个登录成功的会话,查看json数据如下图:

模拟post请求

1请求类型勾选post

2url地址栏输入对应的请求地址

3body区域写登录的json参数,json参数直接copy上一步抓包的数据,如下图红色区域

4header请求头区域,可以把前面登录成功后的头部抓包的数据copy过来

(注意,有些请求如果请求头为空的话,会请求失败的)

5执行成功后查看测试结果:

–执行成功如第三所示的图,显示success=True

–执行失败如下图所示,显示

message=Invalid length for a Base-64 char array or string

success=False

get请求(url详解)

前言

上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。

url详解

1url就是我们平常打开百度在地址栏输入的: https://wwwbaiducom ,如下图,这个是最简单的url地址,打开的是百度的主页

2再看一个稍微复杂一点的url,在百度输入框输入:上海悠悠博客园

3查看url地址栏,对比之前的百度首页url地址,后面多了很多参数。当然最主要的参数是:wd=上海悠悠博客园(后面的一大串可以暂时忽略)。

4那么问题来了,这些参数有什么作用呢?

可以做个简单的对比,在地址栏分别输入:

https://wwwbaiducom

https://wwwbaiducom/swd=上海悠悠博客园

对比打开的页面有什么不一样,现在知道作用了吧,也就是说这个多的”/s?wd=上海悠悠博客园”就是搜索的结果页面

url解析

1以” https://wwwbaiducom/swd=上海悠悠博客园”这个url请求的抓包为例

2那么一个完整的url地址,基本格式如下:

https://host :port/pathxxx=aaa&ooo=bbb

http/https:这个是协议类型,如图中所示

host:服务器的IP地址或者域名,如图中2所示

port:HTTP服务器的默认端口是80,这种情况下端口号可以省略。

如果使用了别的端口,必须指明,例如:1921683111:8080,这里的8080就是端口

path:访问资源的路径,如图中3所示/s (图中3是把path和请求参数放一起了)

?:url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数

url-params:问号后面的是请求参数,格式:xxx=aaa,如图4区域就是请求参数

&:多个参数用&符号连接

请求参数(params)

1在url里面请求参数一般叫params,但是我们在fiddler抓包工具看到的参数是:QueryString

2QueryString是像服务端提交的参数,其实跟params是一个意思,每个参数对应的都有name和value值

3多个参数情况如下:

UrlEncode编码

1如果url地址的参数带有中文的,一般在url里面会是这样的,如第二点里的wd=%E4%B8%8A%E6%B5%B7%E6%…

像看到%E4这种编码的就是经过url编码过的,需要解码就能看到是什么中文了

2用urlencode在线编码/解码工具,地址: http://toolchinazcom/tools/urlencodeaspx

post请求(body)

前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。

注意:post请求的参数可以放在url,也可以放在body,也可以同时放在url和body,当然post请求也可以不带参数。

只是一般来说,post请求的参数习惯放到body部分

body数据类型

常见的post提交数据类型有四种:

1第一种:application/json:这是最常见的json格式,也是非常友好的深受小伙伴喜欢的一种,如下

2第二种:application/x-www-form-urlencoded:浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数

3第三种:multipart/form-data:这一种是表单格式的,数据类型如下:

4第四种:text/xml:这种直接传的xml格式

json格式

1打开博客园的登录页面,输入账号密码后抓包,查看post提交数据,点开Raw查看整个请求的原始数据

2前面讲过post的请求多一个body部分,上图红色区域就是博客园登录接口的body部分,很明显这种格式是前面讲到的第一种json格式

3查看json格式的树状结构,更友好,可以点开JSON菜单项

4查看这里的json数据,很明显传了三个参数:

input1:这个是登录的账号参数(加密过)

input2:这个是登录的密码参数(加密过)

remember:这个是登录页面的勾选是否记住密码的选项,False是不记住,True是记住

x-www-form-urlencoded

1登录博客园后,打开新随笔,随便写一个标题和一个正文后保存,抓包数据如下

2如上图的这种格式,很明显就属于第二种了,这种类型的数据查看,在WebFrom里面查看了

3上面红色框框的Query String是url里面的参数,下面红色框框的body部分就是这次post提交的body参数部分了。

WebFrom

1为什么登录请求的WebFrom的body部分为空呢?

2看上图红色框框的显示:这里只支持application/x-www-form-urlencoded这种格式的body参数,也就是说json格式的,需要在JOSN这一栏查看了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 微信公众平台开发需要哪些工具?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情