目前,对API测试来讲,最重要的是能提取出API测试的数值,并在后续的WEB请求中使用这些值。在本文中我将展示如何利用Java,Gradle,Intellij以及REST Assured来提取API测试的数值并使这些值能真正生效。
Intellij是一个集成开发环境,REST Assured是一个开源的框架,主要用来测试Java版的REST web服务,而Gradle是一个构建工具。大家可以选择不同的工具来做API测试,这取决于你的喜好,当然也取决于你要测试的项目。
作为演示,我们创建一个Spring Boot和Hibernate之间的Java API测试。此API有4个控制器分别为到达、出发、用户和航班。它们之间有两个或多个路径来调用不同类型的请求。路径上的请求大部分都是GET请求,但在某些路径上也有POST和DELETE请求。大家可以自己尝试运行测试。
这里展示的测试仅包括一些简单的路径测试,例如JSON响应的语法验证,请求时间,允许的方法等,但单元测试不包括在内。
第一步:创建一个API测试项目
1、安装Intellij IDEA;
2、确认已经安装了Java JDK(至少1.8.x的版本), 现在我们就开始创建一个新的工程;
3、打开IntelliJ并点击"Create New Project";
4、选择Gradle,勾选Java并选择JDK版本;
5、给你的工程命名;
... ...
查看全文内容,请点击下载:http://www.51testing.com/html/68/n-3721768.html
第二步:添加依赖
现在我们已经创建了一个工程,接下来需要建立依赖。由于这些依赖都是公有的,我们所有人都可以使用。怎样使用依赖呢?双击你的build.gradle文件,并添加下面的gradle配置文件:
group'blaze' version'1.0-SNAPSHOT' buildscript{ repositories{ jcenter() mavenCentral() maven{url"http://repo.spring.io/libs-snapshot"} } dependencies{ classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE") } } applyplugin:'java' applyplugin:'idea' applyplugin:'io.spring.dependency-management' applyplugin:'org.springframework.boot' sourceSets{ main.java.srcDir"src/main/java" main.resources.srcDir"src/main/resources" test.java.srcDir"src/test/java" test.resources.srcDir"src/test/resources" } jar{ baseName='blaze-demo-api' version='1.0' } bootRepackage{ mainClass='com.demo.BlazeMetterApi' } dependencyManagement{ imports{ mavenBom'io.spring.platform:platform-bom:Brussels-SR2' } } repositories{ mavenCentral() jcenter() maven{url"http://repo.spring.io/libs-snapshot"} } sourceCompatibility=1.8 targetCompatibility=1.8 dependencies{ compilegroup:'org.springframework',name:'spring-core' compilegroup:'org.springframework.boot',name:'spring-boot-starter-jdbc' compilegroup:'org.springframework.boot',name:'spring-boot-starter-web' compilegroup:'org.springframework.boot',name:'spring-boot-starter-actuator' compilegroup:'org.springframework.boot',name:'spring-boot-starter-security' compilegroup:'org.springframework.boot',name:'spring-boot-starter-data-jpa' compilegroup:'org.springframework.security.oauth',name:'spring-security-oauth2' compilegroup:'com.fasterxml.jackson.datatype',name:'jackson-datatype-hibernate4' compilegroup:'mysql',name:'mysql-connector-java' compilegroup:'io.rest-assured',name:'rest-assured',version:'3.0.3' compilegroup:'io.rest-assured',name:'json-schema-validator',version:'3.0.3' testCompilegroup:'org.springframework.boot',name:'spring-boot-starter-test' testCompilegroup:'junit',name:'junit' } |
... ...
查看更多精彩内容,请点击下载:http://www.51testing.com/html/68/n-3721768.html
版权声明:本文出自《51测试天地》第四十七期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。