`
michael8335
  • 浏览: 187567 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于Cactus的接口自动化

阅读更多
  今晚给广大测试兄弟培训的一下我们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串的方法
0
2
分享到:
评论

相关推荐

    使用EJB+Struts1.3+Ant+Cactus+DbUnit+JMeter+StrutsTest实现测试4

    Ant是一个Java编写的构建工具,用于自动化项目的构建、编译、测试和部署过程。通过XML配置文件,开发者可以定义构建任务,使得构建过程可重复且易于维护。Ant广泛应用于Java项目中,因为其灵活性和跨平台能力。 ...

    2019上海海洋大学软件工程学院毕业设计选题参考表.pdf

    11. **软件测试与质量保证**:包括基于Cactus的JSP页面测试和基于.NET的代码生成技术,强调了软件测试自动化和持续集成的概念。 12. **工作流管理系统**:基于.Net的工作流引擎设计,体现了对企业流程自动化的需求...

    java网上银行,完整代码

    - 系统的开发和部署可能使用持续集成工具,如Jenkins,自动化构建和测试过程,确保代码质量。 - 部署可能采用负载均衡和集群技术,提高服务可用性和容错性。 总的来说,Java网上银行系统集成了多种Java技术和...

    IBM WebSphere Application Development: J2EE, EJB, WebService

    - **Ant**:Ant是一个基于Java的构建工具,用于自动化软件构建过程。 - **JUnit**:JUnit是一个单元测试框架,用于编写和执行Java代码的自动测试。 - **Cactus**:Cactus是一个用于Java应用的单元测试工具,特别适用...

    cpm:for包装管理器的包装器,使它们与我们这些懒惰的人保持一致

    这个工具可能是一个壳(shell)脚本或者一个命令行界面,通过自动化和统一的接口来整合不同的包管理器。 在描述中,再次强调了"cpm"是为包装管理器创建的一个包装器。包装器在计算机编程中通常是一个中间层,它提供...

    Apache java项目全介绍

    - **简介**: Gump是ASF开发的一款持续集成工具,支持Ant和Maven等多种构建系统,能够实现自动化构建和测试。 - **特点**: Gump可以帮助团队实现持续集成的最佳实践,提高代码质量和开发效率。 ##### 5. James - **...

    JUnit教程工程代码实例+PDF下载

    JUnit是由Ernst Meyer和Kent Beck共同开发的开源测试框架,它基于xUnit测试框架家族。JUnit支持断言(Assertions)来检查代码预期的行为,以及注解(Annotations)来简化测试用例的定义。 2. **JUnit基本概念** -...

    JakartaStrutsLive

    本书不仅涵盖了理论背景,还提供了详细的实践指导和最佳实践建议,帮助开发者高效地构建基于Struts的Web应用。 #### 二、主要内容 ##### 1. **Struts 快速入门教程** - **下载 Struts** - 首先,需要从官方网站...

    dbcp和pool连接池jar包

    `commons-pool-1.5.3.jar`包含了创建和管理各种对象池的类和接口,例如`ObjectPool`接口和它的实现类,这些类使得DBCP能够高效地管理数据库连接。 另一个依赖的库`commons-dbcp-1.2.2.osgi.jar`是DBCP的一个特定...

    HttpClient以及获取页面内容应用

    HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 下载地址:  http://hc.apache.org/downloads.cgi 1.2特性 1. 基于标准、纯净的java语言。...

Global site tag (gtag.js) - Google Analytics