Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >POST请求实践--视频演示

POST请求实践--视频演示

作者头像
FunTester
发布于 2020-03-23 06:26:56
发布于 2020-03-23 06:26:56
52200
代码可运行
举报
文章被收录于专栏:FunTesterFunTester
运行总次数:0
代码可运行

讲完get,轮到post请求了,本期分享了post请求的实现,分享了一些参数依赖的情况。录制过程中翻车了好几次,各位见谅。

视频专题:

内容概述

今天主要讲了post接口的相关测试,前半段主题内容跟上期一致,演示了post请求的Demo,中间翻车好几次,幸亏接口文档比较简单。要是遇到复杂逻辑业务,一次性上车几乎是不可能的。

后半段分享了一个接口测试如何处理校验值,参数依赖等等,只是个简单的Demo,适合短期测试项目,写完就用,用完就扔的模式,用来做练习很不错。之前做过一些活动和游戏的测试,每周上线一个游戏活动,然后下线,软件工期非常短,这种就比较适合今天讲的模式。对于一个长期项目如何做接口测试以及如何接口自动化,后会有期了。

post接口请求和基本业务验证

http://mpvideo.qpic.cn/0bf25eaaeaaa6uach5txovpfb2odaluqaaqa.f10002.mp4?dis_k=ddef58eeff6626e80c081c7d525e4760&dis_t=1584944761

「gitee地址:https://gitee.com/fanapi/tester」

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.fun;


import com.alibaba.fastjson.JSONObject;
import com.fun.frame.httpclient.FanLibrary;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.methods.HttpPost;

public class AR extends FanLibrary {

    public static String APIKEY;

    public static void main(String[] args) {
//        developerLogin();
        registerUser();


        testOver();
    }

    public static void registerUser() {
        if (StringUtils.isEmpty(APIKEY)) developerLogin();
        String url = "https://api.apiopen.top/registerUser";
        JSONObject param = new JSONObject();
        param.put("apikey", APIKEY);
        param.put("name", "FunTester0021");
        param.put("passwd", "123456");
        param.put("nikeName", "FunTester");
        param.put("headerImg", "http://pic.automancloud.com/sick-jvm-heap-1.png");
        param.put("phone", "13100001111");
        param.put("email", "Fhaohaizi@163.com");
        param.put("vipGrade", "3");
        param.put("autograph", "abc");
        param.put("remarks", "这是测试用户!");
        HttpPost httpPost = getHttpPost(url, param);
        JSONObject response = getHttpResponse(httpPost);
        output(response);
    }

    public static void register() {
        String url = "https://api.apiopen.top/developerRegister";
        JSONObject param = new JSONObject();
        param.put("name", "FunTester");
        param.put("passwd", "FunTester");
        param.put("email", "Fhaohaizi@163.com");
        HttpPost httpPost = getHttpPost(url, param);
        JSONObject response = getHttpResponse(httpPost);
        output(response);
    }

    public static void developerLogin() {
        String url = "https://api.apiopen.top/developerLogin";
        JSONObject params = new JSONObject();
        params.put("name", "funtester");
        params.put("passwd", "funtester");
        HttpPost httpPost = getHttpPost(url, params);
        JSONObject response = getHttpResponse(httpPost);
        output(response);
        if (response.getIntValue("code") == 200) {
            APIKEY = response.getJSONObject("result").getString("apikey");
        } else {
            fail();
        }
    }


}


  • 「郑重声明」:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FunTester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GET请求实践--测试框架视频讲解
讲完json对象的操作,今天开始正式进入正题——接口测试。这里的接口指的是HTTP接口测试,主要的请求方法是GET和POST,下面开始讲GET请求的测试实践。
FunTester
2020/04/03
4550
接口测试业务验证--视频演示
接口框架的基础功能已经讲完了,接下来会分享一些接口测试实践。今天分享了接口一般的业务验证,注册用户和用户登录。借助开源社区提供的接口来做演示。写了一些测试脚本,针对独立性较高的接口测试项目如何快速验证。没有使用所谓数据驱动,也没有采用断言(使用预警代替),总的来讲,更像BDD一些。中间也用到了多接口相互验证的功能。
FunTester
2020/04/03
4880
如何处理header和cookie--视频演示
终于把基础的请求讲完了,感觉还算顺利,希望读者们也能从中得到一些对自己有帮助的东西。会者不难难者不会,每次二十多分钟很快能把Demo讲完,如果想要掌握接口测试,还要多写代码,多实践。
FunTester
2020/04/03
5900
自动化测试项目基础--视频讲解
今天开始分享如何写一个自动化测试项目。对于一个长期的自动化测试项目,我的思路如下:现有一个项目的基类,实现对获取请求对象和发送解析请求对象的封装,自定义用户信息(例如id,uid,password)以及验证信息,自定义header和cookie处理方法,自定义通用验证方法和获取业务响应状态码方法,以及包括一些其他需要自定义的功能。然后每个业务的模块类继承于这个基类,就只专注于接口的参数和响应信息即可。
FunTester
2020/04/02
3470
模块类和自动化用例实践--视频演示
讲完了基类的时间接下来就是模块类。本期分享内容是以我们某个项目的usercenter模块类内容,包含了用户Users管理类和自动化测试用例的编写等等。关于自动化用例,我思路是:编写一个可以永远不用维护数据的用例,然后保证测试数据不被污染,基本可以高枕无忧。一般不写死数据,除非是确定不会变的项目静态配置,不搞参数化,不做条件预设,全面监控,及时预警,这样会节省很多维护成本。单接口的参数化测试用例,则采取另外一种自动化方案,放到下期再讲。
FunTester
2020/04/10
2860
HTTP接口测试基础【FunTester框架教程】
今天继续编写FunTester测试框架的教程,主要内容是HTTP接口测试基础,分为请求(GET、POST、PUT等)、请求头、cookie、响应、JSON以及资源释放。
FunTester
2021/09/14
5700
arthas命令trace追踪方法链路视频演示
今天分享一个非常重要的命令trace,官网定义这个方法的功能如下:方法内部调用路径,并输出方法路径上的每个节点上耗时trace命令能主动搜索 class-pattern/method-pattern 对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。
FunTester
2020/05/18
1.9K0
arthas命令tt方法时空隧道
今天分享一个非常重要的命令tt,全称是TimeTunnel,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测。这个命令与之前讲到的arthas命令watch观察方法调用(上)](https://mp.weixin.qq.com/s/6fMKP7H4Q7ll_0v-wyN19g)、arthas命令watch观察方法调用(下)从大概功能上比较相似,区别在于watch如果想发挥足够的排查作用,必需熟练掌握ognl语法,特别是高级语法这样才能从大量的请求中筛选出来自己想要的,tt命令相对简单,而且还支持录制、重放功能,可以说非常强大。在arthas运行的过程中,经过tt命令保存的方法都是可以重放的。
FunTester
2020/05/26
1.5K0
链路压测中如何记录每一个耗时的请求
前文回顾:性能测试中记录每一个耗时请求,做完了单接口耗时请求的记录功能,近期又迎来了一批多接口链路压测的需求。刚好趁着这个机会,多实现一些不同场景的链路压测需求,锻炼一波,也能提高自己写的「FunTester」测试框架的兼容性,可谓一石多鸟,何乐而不为。
FunTester
2020/12/24
8540
基于java的直线型接口测试框架初探
在使用java语言作为接口测试的过程中,发现java语言的简洁性的确不如脚本语言,如python,很多功能python一行代码几个方法就能搞定,java需要几行,而且有时候并不利于理解。最近接触到了一个词“直线型”代码。看了之后有所感觉,重新写了一个直线型代码风格的接口请求框架。
FunTester
2019/09/10
5010
自动化项目基类实践--视频演示
接口测试中业务验证 http://mpvideo.qpic.cn/0bf2raaagaaaauaafxudrvpfbcgdaoeaaaya.f10002.mp4?dis_k=c999f00b893c9
FunTester
2020/04/08
3170
groovy爬虫练习之——企业信息
获取数据的方法依然采取了regex正则匹配的方法,请求框架采用了java,爬虫语言是groovy,本地拼接好sql语句,发送到mysql服务端,完成存储。 代码如下: package com.fan import com.fantest.httpclient.FanLibrary import com.fantest.mysql.MySqlTest import com.fantest.utils.Regex import net.sf.json.JSONObject class Company ext
FunTester
2019/10/14
6410
groovy爬虫练习之——企业信息
拷贝HttpRequestBase对象
在实践性能测试框架第二版的过程中,我实现了一个单个HttpRequestBase对象的concurrent对象创建,单之前都是用使用唯一的HttpRequestBase对象进行多线程请求,目前来看是没有问题的,但为了防止以后出现意外BUG和统一concurrent的构造方法使用,故尝试拷贝了一个HttpRequestBase对象。原因是因为之前封装的深拷贝方法对于HttpRequestBase对象的实现类如:httpget和httppost并不适用,因为没有实现Serializable接口。所以单独写了一个HttpRequestBase对象的拷贝方法,供大家参考。
FunTester
2019/12/31
5820
arthas快速入门视频演示
之前介绍过了arthas这个阿里的开源Java诊断工具,实在是非常好用。这里赶紧补上了快速入门的视频。
FunTester
2020/05/04
5070
分布式性能测试框架单节点内测
在经过这么久的铺垫,FunTester测试框架分布式版本的工作正式开始了,我首先写了一个单节点的版本,通过HTTP协议接口进行任务上传,而非像之前设想中的,定时去master节点进行pull任务。
FunTester
2021/06/23
6240
HTTP异步连接池和多线程实践
今天在查询一个列表的时候,突然发现列表由于之前压测导致几万条脏数据积累。导致找一个数据比较麻烦,由于项目没有提供批量删除的功能,所以想了个办法通过接口把数据挨个删除。
FunTester
2020/08/27
1K0
单点登录性能测试方案
项目登录系统升级,改为单点登录:英文全称Single Sign On。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 之前有的统一登录方式被废弃,由于单点登录比较之前的登录系统复杂很多。之前的方案请求一个接口即可获得用户校验令牌。 先分享一下单点登录的技术方案的时序图:
FunTester
2019/10/08
1.6K0
单点登录性能测试方案
获取HTTP请求对象--测试框架视频讲解
之前有了个序FunTester测试框架视频讲解(序),反响不错,今天来讲讲测试框架中另外一个核心的类FanLibrary中获取HttpRequestBase对象的方法。
FunTester
2020/03/23
5960
将swagger文档自动变成测试代码
在看过一本《代码不朽》的书之后,深受启发,要编写高质量的代码,可维护性一定要弄好,经过尝试,已经将原来的magic()方法修改成为N个短方法,代码逻辑一目了然,分享解耦之后的代码。
FunTester
2019/08/19
2.4K0
“双花”BUG的测试分享
“双花”一词我是从区块链领域的听到的,查了一下资料,基本所有的引用都是基于区块链,但是今天所讲的“双花”不是区块链领域,而是普通的接口测试中遇到的BUG,由于概念一致,所以采用“双花”一词。双花,顾名思义,花了两次,一分钱或者交换流通的物品。下面分享一下自己在工作中遇到的一个双花的BUG的测试方案和原因解释。
FunTester
2019/08/14
9040
相关推荐
GET请求实践--测试框架视频讲解
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验