首页 技术 正文
技术 2022年11月9日
0 收藏 859 点赞 4,159 浏览 2902 个字

1、配置JDK

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

2、安装Eclipse以及TestNG

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

TestNG安装过程:

在线安装

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

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

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

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

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

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

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

3、接口测试框架的搭建

新建一个maven程序

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

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

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

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

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

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

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

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

导入TestNG依赖包

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

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

新建testng class文件

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

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

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

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

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

 4、接口测试用例

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

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;
}
}

测试用例代码:

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);
}
}

右键单击testng.xml运行

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

结果如下,passed

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

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

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

上一篇: vue.js第七课
下一篇: half extents
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295