接口自动化框架有哪些?java接口自动化框架搭建

dylinchen 466 2022-07-11


当我们想要使用接口自动化测试工具来进行测试,不少小伙伴疑惑到底哪一种更好用呢?并且可以提供自动化集成的功能?小编今天就带大家来解锁各种接口自动化框架吧!

接口自动化测试框架

1.Jmeter 可以做于接口自动化工具,也可以用于性能测试,对于测试的开发能力有要求,前端 Vue ,后端 Flask & Django 框架,代码能力要求高,前后端的技术都需要懂。

JMeter优点:支持参数化;不需要写代码。

JMeter缺点:创建接口用例效率不高。不能生成查看每一个接口执行情况的测试报告。

总结:不考虑,接口编写不方便,最主要是不能生成测试报告,如果做接口性能的话可以考虑。

2、java+httpclient,通过代码实现;httpClient不提供接口response校验、接口request、response打印、错误信息显示等功能,这些都需要自己单独写代码实现。

3、java+restassured,通过代码实现;Rest-assured是一款测试REST api的自动化测试工具,除支持接口调用外,还提供了接口校验、日志打印、错误显示等功能,非常适合接口自动化脚本。Rest-assured配合脚本语言groovy前面提到的10点降低维护成本策略都能实施。

4、python+urllib2,用的很少了现在;

5、python+request,Request是python下的一个包,引入该包后即可完成接口调用,和httpclient一样该包仅仅完成接口调用,如果需要接口response的校验、日志打印等都需要自己单独写代码实现。

6、httprunner,可以改造,用的地方多;

7、Selenium自动化测试框架AutoTestFramework(简称:ATF)是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化测试工具可实现PC端界面自动化、接口自动化、APP功能自动化测试和深度兼容性测试,测试完成后系统自动生成测试报告。目前该框架可以集成的自动化测试工具Selenium、AutoRunner、MobileRunner。

对比上述工具旨在告诉大家在选择工具或者框架时,首先需要明确你的项目需要完成怎样的自动化,然后再查看市面上的工具,看看这些工具以及支持的语言是否满足你的需求,只要有了明确的目标,选择就不再困难。

一.restassured进行接口请求

1.get方法请求接口并获取返回response对象

import static io.restassured.RestAssured.given;import io.restassured.response.Response;public class RestDemo {
    @Test
    public void testGetHtml(){
        Response response = 
        given().
                log().all().
                param("wd", "豆瓣").
        when().
                get("http://www.baidu.com/").
        then().
                log().all().
                statusCode(200).
        extract().
                response();
                }given():一次网络请求所需要的条件都写在这里,头信息、query参数when():触发条件then():断言extract():提取返回值

2.post方法请求接口并获取返回response对象

import static io.restassured.RestAssured.given;import io.restassured.response.Response;public class RestDemo {
    @Test
    public void testGetHtml(){
        Response response = 
        given().
                log().all().
                body().
                param("wd", "豆瓣").
        when().
                post("http://www.baidu.com/").
        then().
                log().all().
                statusCode(200).
        extract().
                response();
                }given():一次网络请求所需要的条件都写在这里,头信息、query参数when():触发条件then():断言extract():提取返回值

二.junit执行测试用例

1.新建Calculate类

package com.coke.util;public class Calculate {

    public int add(int a,int b){
        return a+b;
    }

    public int sub(int a,int b){
        return  a-b;
    }

    public int mul(int a,int b){
        return a * b;
    }

    public int div(int a,int b){
        return a / b;
    }}

2.在同一个包下新建CalculateTest类,然后便可在idea中运行

package com.coke.util;import org.junit.*;public class CalculateTest {

    @Test
    public void testAdd(){
        int result = new Calculate().add(1,2);
        Assert.assertEquals(3,result);
    }

    @Test
    public void testSub(){int result = new Calculate().sub(4,1);
        Assert.assertEquals(3,result);
        System.out.println("123");
    }

    @Test
    public void testDiv(){
        int result = new Calculate().div(8,2);
        Assert.assertEquals(4,result);
    }}



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:文案君:杰士邦把玻尿酸用在套套上了,真行!
下一篇:什么叫接口自动化,接口自动化平台有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~