1、配置JDK

见另一篇博客:http://www.cnblogs.com/testlurunxiu/p/5933912.html

2、安装Eclipse以及TestNG

Eclipse下载地址:http://beust.com/eclipse

TestNG安装过程:

在线安装

输入网址:http://beust.com/eclipse

在线安装会比较慢,有的人可能还会链接不上这个地址,所以下面介绍一个离线下载的方法

离线下载:TestNG Eclipse 插件下载地址http://testng.org/doc/download.html

a.下载离线安装包并解压

b.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.8.6.20130607_0745放到eclipse--》features目录下;
c.将解压后的文件..\eclipse-testng离线包\org.testng.eclipse_6.8.6.20130607_0745文件夹放到eclipse--》plugins目录下;
d.重启eclipse.

如何查看testng是否安装成功了呢?

3、接口测试框架的搭建

新建一个maven程序

Finish之后,工程以及默认pxm.xml文件内容,如图所示:

在pom.xml文件里面导入需要的jar包依赖,类似如下代码

<dependencies>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
  </dependency>
</dependencies>

导入TestNG依赖包

新建testng class文件

新建的testng自动生成如下,其中<class>节点里面的为运行内容

导入成功之后的项目工程如下:

 4、接口测试用例

获取并且执行接口代码如下:

  1. public class HttpUtils {
  2.  
  3. static CloseableHttpClient httpclient =null;
  4.  
  5. public static void OpenHttpClient()
  6. {
        //打开浏览器
  7. httpclient = HttpClients.createDefault();
  8. }
  9.  
  10. public static void CloseHttpClient()
  11. {
         //关闭浏览器
  12. try {
  13. httpclient.close();
  14. } catch (IOException e) {
  15.  
  16. // TODO Auto-generated catch block
  17. e.printStackTrace();
  18. }
  19. httpclient = null;
  20. }
  21.  
  22. public static JSONObject visitUrl(String url)
  23. {
  24. //CloseableHttpClient httpclient = HttpClients.createDefault();
  25.  
  26. HttpGet httpGet = new HttpGet(url);
  27. // HttpPost httpPost = new HttpPost(url);
  28. JSONObject jsonObj=null;
  29. try {
  30. CloseableHttpResponse response = httpclient.execute(httpGet);
  31. HttpEntity entity = response.getEntity();
  32.  
  33. StringBuilder jsonStr = new StringBuilder();
  34. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"),
  35. 8 * 1024);
  36. String line = null;
  37. while ((line = bufferedReader.readLine()) != null) {
  38. jsonStr.append(line + "/n");
  39. }
  40. EntityUtils.consume(entity);
  41. //获取JSON对象的值
  42. jsonObj = new JSONObject(jsonStr.toString());
  43. response.close();
  44.  
  45. } catch (ClientProtocolException e) {
  46. // TODO Auto-generated catch block
  47. e.printStackTrace();
  48. } catch (IOException e) {
  49. // TODO Auto-generated catch block
  50. e.printStackTrace();
  51.  
  52. }
  53.  
  54. return jsonObj;
  55. }
  56. }

测试用例代码:

  1. public class Test {
      public Assertion assertion;
  2. @BeforeClass
  3. public void beforeClass() {
  4. assertion = new Assertion();
  5. }
  6.  
  7. @BeforeMethod
  8. public void runBeforeMethod() {
  9. // 打开httpclient,相当于打开一个浏览器
  10. HttpUtils.OpenHttpClient();//这边一定要记得在测试用例开始之前打开浏览器,否则会出现空指针的错误
  11. }
  12. @AfterMethod
  13. public void runAfterMethod() {
  14. // 打开httpclient,相当于打开一个浏览器
  15. HttpUtils.CloseHttpClient();
  16. }
  17.  
  18. @org.testng.annotations.Test
  19. public void f() throws ClientProtocolException, IOException {
  20.  
  21. String loginUrl = "http://xx.xxx.cn/Org/PCUserLogin.do?u=11111&p=1111&groupId=1";
  22. JSONObject json = HttpUtils.visitUrl(loginUrl);
  23. boolean success = json.getBoolean("success");
  24. String enterTrainningUrl = "http://xx.xxx.cn/Training/enterTrainingCamp.do?roomid=1111";
  25. System.out.println(enterTrainningUrl);
  26. JSONObject enterObj = HttpUtils.visitUrl(enterTrainningUrl);
  27. System.out.println(enterObj.toString());
  28. boolean success2 = enterObj.getBoolean("success");
  29. assertion.assertTrue(success);
  30. }
    }

右键单击testng.xml运行

结果如下,passed

运行完成之后,刷新工程,在根目录下会生成一个test_output文件夹,打开index.html,可以看见测试报告

JAVA+Maven+TestNG搭建接口测试框架及实例的更多相关文章

  1. 2--JAVA+Maven+TestNG搭建接口测试框架搭建

    1.配置JDK 2.安装Eclipse以及TestNG Eclipse下载地址:http://beust.com/eclipse TestNG安装过程:输入网址:http://beust.com/ec ...

  2. TestNG 搭建测试框架 自动化测试

    框架层级及基本组件:    参考:https://www.cnblogs.com/jier888/p/8998724.html Java作为开发语言 Maven管理项目及Jar包 Testng作为测试 ...

  3. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

  4. selenium java maven testNg环境搭建

    maven获取jar的xml地址:http://mvnrepository.com 步骤一安装jdk(略) 步骤二 安装eclipse(略) 步骤三 安装testNG 步骤四 maven安装 步骤三 ...

  5. 基于maven从头搭建springMVC框架

    0.准备工作 首先将eclipse和需要的插件准备好,例如maven插件,spring IDE插件. 1.建立maven下的webapp项目 1.新建一个maven项目,类型为webapp,如下图 2 ...

  6. 通过Maven简单搭建SSM框架

    创建Maven就不用多说了,下面直接看Pom.xml里面的依赖吧 <properties> <!-- spring版本号 --> <spring.version>5 ...

  7. 在Eclipse中利用maven整合搭建ssm框架

    首先说明用到的框架: spring  +  springMVC  +  mybatis 构建工具:maven 开发工具:eclipse 开发环境:win10      java版本:jdk1.8    ...

  8. selenium+jenkins+maven+testNG搭建持续集成环境

    为了简明起见,分几大部分,很基础的细节就不详述了 一·安装jenkins 二·创建一个maven项目的job 2.1   填上SVN的Repository URL 2.2  由于是在本地执行maven ...

  9. jenkins、ant、selenium、testng搭建自动化测试框架

    如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开ec ...

随机推荐

  1. 数据结构:优先队列 基于list实现(python版)

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author: Minion-Xu #list实现优先队列 class ListPriQueueValueE ...

  2. TYPESDK手游聚合SDK服务端设计思路与架构之四:流程优化之信息安全与订单校验

    有了前文几个步骤的分析和设计,TYPESDK的信息交互流程已经可以正常工作了,但是,这个流程还没有考虑到支付这样的过程中,至关重要的信息安全问题. 在整个交互过程中,游戏服务端,SDK服务端,渠道服务 ...

  3. EF 添加方式比较

    using System; using System.Collections.Generic; using DBAccess.Models; using EntityFramework.BulkIns ...

  4. 纯css3 3D图片立方体旋转动画特效

    纯css3 3D立方体模块,鼠标触碰,模块炸开,大立方体中套小立方体 效果展示 手机扫描二维码体验效果: 效果图如下: 源码下载:http://hovertree.com/h/bjaf/0qmul8g ...

  5. javaScript中的小细节-局部作用域中的var

    javaScript中var是很神奇的,在局部作用域中,var a = b = c = 1;是不一样的,a为使用var声明的变量,而b和c则是全局下的,此类变量被称为隐式全局变量:var a = 1; ...

  6. Stimulsoft入门视频

    .NET框架下最全面的报表解决方案,支持多种报表导出格式,拥有简单且强大的报表引擎.本系列教程适合Stimulsoft Reports上手入门. 001     Stimulsoft Reports. ...

  7. react native初步常见问题

    首先按照资料一步步搭建环境运行,然后成功了,很激动,可是,安卓就是没这么容易成功,还是太年轻了 could not get batchedbridge, make sure your bundle i ...

  8. [Android]Android端ORM框架——RapidORM(v2.1)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6020412.html [Android]Android端ORM ...

  9. DataView详解

    dataview可以用于对你的datatable筛选,搜索,排序,编辑和导航.可以方便对databale的操作. 先来看一下它有哪些属性: 接下来是方法: 我们怎么使用它呢? public datat ...

  10. Android View的绘制流程

    写得太好了,本来还想自己写的,奈何肚里墨水有限,直接转吧.正所谓前人种树,后人乘凉.. View的绘制和事件处理是两个重要的主题,上一篇<图解 Android事件分发机制>已经把事件的分发 ...