基于Cactus的接口自动化
来源:互联网 发布:用php做99乘法表 编辑:程序博客网 时间:2024/05/22 03:47
今晚给广大测试兄弟培训的一下我们API的接口自动化(API无页面),现在将公司的接口自动化框架总结如下,由于公司可恶的信息安全制度,所以不能提及公司名称已经公司内部软件,所以只能针对开源部分进行讲解。
至于什么是Cactus,下面是来自官网的权威解释:
Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).
The intent of Cactus is to lower the cost of writing tests for server-side code. It uses JUnit and extends it.
Cactus implements an in-container strategy, meaning that tests are executed inside the container.
为了实现对容器(服务端)的接口测试,我们需要解决一下问题:
1、如何使本地客户端调用到服务端的接口?
2、如何给接口传参
3、由于本地客户端使用的是C++开发的,而服务端代码是Java代码,如何让解决C++与Java代码之间的交互
4、如何确定接口的正确性
为了解决第一个问题,我们在本地为每个TestCase定制了一种Java代码,每个TestCase的beginXXX通过向服务端发送HTTP请求能够调用到服务端每个TestCase的testXXX方法,在TestCase中调用开发的接口。
为了解决第2、3个问题,我们引入了Json这种数据格式,因为Json可以跨语言进行数据交互,我们可以将接口入参对象转化为Json格式,然后C++将这个Json串传递给本地定制的TestCase代码,本地TestCase再把这个Json串通过HTTP求情发送到服务端,在服务端,再将Json串转换为入参对象,这样就解决了不同语言之间参数传递的问题,同时还能将参数传给服务端接口,但是这里有个问题,如何将对象转换为Json,在服务又如何将Json转为对象呢??为了解决这个问题,我们引入了Google公司一个开源项目Gson,Gson可以实现对象和Json串之间的相互转换(关于Gson,大家可以去官网查看),
由于引入了Json这种数据格式,在比较的时候,都采用比较Json串的方法
至于什么是Cactus,下面是来自官网的权威解释:
Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).
The intent of Cactus is to lower the cost of writing tests for server-side code. It uses JUnit and extends it.
Cactus implements an in-container strategy, meaning that tests are executed inside the container.
为了实现对容器(服务端)的接口测试,我们需要解决一下问题:
1、如何使本地客户端调用到服务端的接口?
2、如何给接口传参
3、由于本地客户端使用的是C++开发的,而服务端代码是Java代码,如何让解决C++与Java代码之间的交互
4、如何确定接口的正确性
为了解决第一个问题,我们在本地为每个TestCase定制了一种Java代码,每个TestCase的beginXXX通过向服务端发送HTTP请求能够调用到服务端每个TestCase的testXXX方法,在TestCase中调用开发的接口。
为了解决第2、3个问题,我们引入了Json这种数据格式,因为Json可以跨语言进行数据交互,我们可以将接口入参对象转化为Json格式,然后C++将这个Json串传递给本地定制的TestCase代码,本地TestCase再把这个Json串通过HTTP求情发送到服务端,在服务端,再将Json串转换为入参对象,这样就解决了不同语言之间参数传递的问题,同时还能将参数传给服务端接口,但是这里有个问题,如何将对象转换为Json,在服务又如何将Json转为对象呢??为了解决这个问题,我们引入了Google公司一个开源项目Gson,Gson可以实现对象和Json串之间的相互转换(关于Gson,大家可以去官网查看),
由于引入了Json这种数据格式,在比较的时候,都采用比较Json串的方法
- 基于Cactus的接口自动化
- 自动化测试接口的实现,基于python
- FitLibraryWeb - 基于Fit的集成化接口自动化测试框架
- 基于jmeter和shell的接口性能自动化
- 基于python unitest架构的接口自动化监控
- 基于jmeter和shell的接口性能自动化
- 基于jmeter和shell的接口性能自动化
- 基于数据驱动的接口自动化测试解决方案
- 基于jmeter和shell的接口性能自动化
- 基于jmeter和shell的接口性能自动化
- 基于httpclient和mysql的接口功能自动化测试框架
- http的接口自动化
- cactus的使用
- cactus
- cactus
- IFAT-基于数据库的接口测试的自动化框架(一)
- Python 基于python+Testlink+Jenkins实现的接口自动化测试框架
- Visual Studio的自动化接口
- 设计模式之代理模式
- Quartz中的Job和StatefulJob
- 关于找工作
- 一个由于错误使用interval导致的错误
- 单链表
- 基于Cactus的接口自动化
- Shell编程
- Google SVN
- 设计模式之命令模式
- 构造函数中的异常处理
- Hibernate+Oracle使用序列
- Lucene 实战:快速开始 创建索引
- Hibernate中实体的三种状态
- Hibernate获取序列