java接口测试框架_JAVA+Maven+TestNG搭建接口测试框架及实例

1、配置JDK

2、安装Eclipse以及TestNG

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

TestNG安装过程:

在线安装

862e372fe6bd1891a7a8a31cc113d163.png

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

ede2fbe3ff3baebaa3cb94c3b515da51.png

dcd10f88cc09a0fb89c7e419959d606b.png

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

离线下载: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是否安装成功了呢?

c4e0f60ecd4981595a2769e2e7a7ca58.png

9a9c4e33654fa0c3cbe0d2b5e6a151d5.png

3、接口测试框架的搭建

新建一个maven程序

2b70d090a59dbfa970b8191a5e35f60a.png

3db29e91840fec20999a8cea4f539765.png

024acc5402ea39171330c1bacc5b4884.png

2f8557f9ba9018a3e4935fb7acf17e7a.png

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

74a571b7f9085249922702cc7c0f5c7e.png

b42d5d82ffc6049d8a50abc5f199b7d5.png

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

log4j

log4j

1.2.17

导入TestNG依赖包

b00cecf728cb01b3e8e7e51792be4a18.png

5a256a40fde3ed3df1882c28db83d4e7.png

新建testng class文件

97fe2e8b2058d8b673511df20238d580.png

a358fea5858e85e74fd070011b333f8b.png

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

ef333220b502cb4df8a0603e93c1616a.png

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

fca5c7df99451a988ab50ba719f9551d.png

4、接口测试用例

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

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class HttpUtils {

static CloseableHttpClient httpclient =null;

public static void OpenHttpClient()

{

//打开浏览器

httpclient = HttpClients.createDefault();

}

public static void CloseHttpClient()

{

//关闭浏览器

try {

httpclient.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

httpclient = null;

}

public static JSONObject visitUrl(String url)

{

//CloseableHttpClient httpclient = HttpClients.createDefault();

HttpGet httpGet = new HttpGet(url);

// HttpPost httpPost = new HttpPost(url);

JSONObject jsonObj=null;

try {

CloseableHttpResponse response = httpclient.execute(httpGet);

HttpEntity entity = response.getEntity();

StringBuilder jsonStr = new StringBuilder();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"),

8 * 1024);

String line = null;

while ((line = bufferedReader.readLine()) != null) {

jsonStr.append(line + "/n");

}

EntityUtils.consume(entity);

//获取JSON对象的值

jsonObj = new JSONObject(jsonStr.toString());

response.close();

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return jsonObj;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

测试用例代码:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Test {

public Assertion assertion;

@BeforeClass

public void beforeClass() {

assertion = new Assertion();

}

@BeforeMethod

public void runBeforeMethod() {

// 打开httpclient,相当于打开一个浏览器

HttpUtils.OpenHttpClient();//这边一定要记得在测试用例开始之前打开浏览器,否则会出现空指针的错误

}

@AfterMethod

public void runAfterMethod() {

// 打开httpclient,相当于打开一个浏览器

HttpUtils.CloseHttpClient();

}

@org.testng.annotations.Test

public void f() throws ClientProtocolException, IOException {

String loginUrl = "http://xx.xxx.cn/Org/PCUserLogin.do?u=11111&p=1111&groupId=1";

JSONObject json = HttpUtils.visitUrl(loginUrl);

boolean success = json.getBoolean("success");

String enterTrainningUrl = "http://xx.xxx.cn/Training/enterTrainingCamp.do?roomid=1111";

System.out.println(enterTrainningUrl);

JSONObject enterObj = HttpUtils.visitUrl(enterTrainningUrl);

System.out.println(enterObj.toString());

boolean success2 = enterObj.getBoolean("success");

assertion.assertTrue(success);

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

右键单击testng.xml运行

c8b33e168b4b0d049473480c0f4fdb12.png

结果如下,passed

468f46ffe446dba424833fd586a31cec.png

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

e4b7765f4ea82fb822d6bbbd98b21d4e.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值