Skip to content

yuanjl1989/RestfulAPITests

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RestfulAPITests

这是一个Restful API 自动化测试框架。

它能让你方便的使用Fluent Interface模式去写你的测试代码,并且验证返回,提高代码的可读性

比如下面:

APIRequest.GET(URL).header("Authorization", "Bearer " + token).invoke().assertStatus(200).assertBody(expectedBody);

##用到的工具## 本框架是使用Maven进行项目管理,所有的依赖项目都已经加到pom文件,所以你只要在你的IDE中Import这个项目就可以开始写测试代码了。

Pom中引用了下面的工具:

  • Jersey 2.18
  • Junit 4.12
  • Apache Commons IO
  • SLF4J

##如何使用##

所有的HTTP Request都从APIRequest这个类出发,一步步构建,最终调用Invoke方法发送HTTP 请求。

APIResoponse来管理HTTP的返回,这个方法提供一些公共的方法来验证API的返回。

建议所有的TestCase都继承与APITest类这样可以方便的管理配置文件,以及获得一些有用的公共方法。

下面是一些例子:

  1. 发一个Get请求

    APIRequest.GET(uri).header("Authorization", token) .invoke().assertStatus(200).assertBodyContains("expectedContent");

  2. 使用XML或者Json格式的Payload

    String payload = loadFile("xmlfile.xml");

  3. 运行时定制化Payload填充参数

  4. String payload = String.format(loadFile("jsonfile.json"), "abc", "edf");

  5. 数据分离,在Property文件管理参数

    String uri = getValue("get.uri");

##灵活的执行Test Cases##

当你的Test Cases 变的很多时,如何管理你的case呢?这时候就可以借鉴JCategory,来丰富这个需求。

Contact me ?

Email: jinsdu@outlook.com

Blog: http://www.cnblogs.com/jinsdu/

About

Automation Test Framework for Restful API services

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%