1、接口包含内容

#request:

HTTP版本/请求地址url

请求方法:GET、POST、PUT、DELETE等

请求头:content—type

请求正文:请求参数

#response:

状态码:标记响应状态的一个识别,200=OK,(只代表服务器接收到,不代码响应正确)

响应头:content-Type

响应正文:响应码,msg

#开发定义的接口文档

如果开发没有写接口文档或者不全,可自己抓包捕获(fiddler/浏览器F12开发者工具)

2、接口传递的数据格式:Conetent—Type

  ~application/json (键值对)

{

“name”:“namevalue”,

“pwd”:“12345”

}

  ~application/x-www.form-urlencode(表单形式)

  ~text/xml(标签)

<name>namevalue</name>

<pwd>123456</pwd>

  ~multipart/form—data(表单形式,上传文件)

3、接口测试流程

  ~获取接口需求

  ~编写接口测试用例及评审

  ~整理接口测试脚本

  ~执行接口测试用例

  ~提交bug并完成跟踪

  ~测试结束出具报告

4、接口文档一般包含:1、接口说明(请求方式、响应类型、请求参数、接口地址)

            2、数据库连接说明(数据库地址、端口、用户名、密码、库名)

5、接口测试用例包含:

    ~序号、接口模块、请求方式、接口地址、用例标题、content-type、参数输入、期望结果

使用soapui工具进行接口测试(自己搭建好在linux上的服务)

1)打开soapui新建一个REST Project,弹出框输入测试的url,点击OK

1-2)展开工程中修改请求内容

  请求方式:POST,格式:application/json,参数:name,pwd,age,email,phone,如果涉及到中文,需要更改字符为UTF-8,点击运行查看结果

发现运行返回的结果为“用户名已存在”,使用naticat连接数据库查看该用户是否真的存在,用户确实存在,再换个名字后执行,再查看数据库,发现执行返回数据,数据库插入成功

。post请求成功

1-3)执行第二个接口“登录”,右击project,选择New REST Service from URL,输入接口地址url,修改请求方式和输入请求参数,执行后返回值为:登录成功

1-4)第三个请求需要关联到第二个请求的返回值,则需要进行关联设置,先加多一个请求为查看用户,请求方式:GET,请求参数token,token需要关联登录后的返回值

创建一个testcase来使三个用例串起来一起跑,右击创建一个用例集,点击每个request之后add to testcase,点击确定之后可修改名称点击OK

执行一下,查看第三步的返回信息提示“请先登录”,则说明token没有进行获取到

需要进行token的关联,添加一个 property transfer

由于user中没有请求头,则需要添加一个自定义变量,

$.token,此处的token必须按照返回的参数写,若大写此处也要为大写

增加一个自定义参数,名字可自取,再回到property transfer,设置token传送到哪个变量上,其他的参数变量也可以在properties中继续增加,引用变量为: ${变量名}

再在user中增加一个请求头的参数信息为token

再次执行,已经成功获取token值,并查询数据成功

加断点进行判断,在每个请求中点击添加断点,选择 contains(包含),返回值所包含的内容

出现绿色,则代表断言包含该内容,返回成功

如果需要按分类,比如,登录的用户名异常,登录的用户为空,登录的密码错误。。。。。的一些用例,可以再次创建一个testcase

完成!若有胖友阅读,有错误麻烦指出,多多指教 嘿嘿~

关于soapui接口的笔记的更多相关文章

  1. SoapUI接口测试之实战运用操作(五)

    SoapUI接口测试之实战运用操作(五)

  2. 接口自动化测试持续集成--Soapui接口功能测试持续集成

    Soapui接口功能测试持续集成,需要先安装好maven和jenkins,maven和jenkins安装和系统环境配置比较简单,在这里不做叙述.   1.Soapui保存的工程文件 soapui工程保 ...

  3. SoapUI SoapUI接口测试之编码设置

    SoapUI接口测试之编码设置 by:授客 QQ:1033553122 问题描述: 实际测试过程中发现,SoapUI提交后的数据,在数据库中查看数据值存储,发现是乱码,如下图: 查找原因,show c ...

  4. SoapUI 接口测试之post提交本地数据文件

    SoapUI接口测试之post提交本地数据文件 by:授客 QQ:1033553122 本文主要是针对用SoapUI POST提交本地数据文件的方法做个简单介绍 举例: 文件同步接口 接口地址:htt ...

  5. SoapUI接口测试之JDBC(三)

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口 ...

  6. 接口自动化测试持续集成--Soapui接口功能测试参数化

    按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离. 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的 ...

  7. webservice接口与HTTP接口学习笔记

    一.webservice 的概念 Web 是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术.Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作 ...

  8. JMeter接口学习笔记2017

    协议学习地址:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html 本篇学习笔记来自于慕课网上学习JMeter的学习笔记 学习 ...

  9. 数字麦克风PDM信号采集与STM32 I2S接口应用--笔记目录

    数字麦克风采用MEMS技术,将声波信号转换为数字采样信号,由单芯片实现采样量化编码,一般而言数字麦克风的输出有PDM麦克风和PCM麦克风,由于PDM麦克风结构.工艺简单而大量应用,在使用中要注意这二者 ...

随机推荐

  1. Ceph 架构以及原理分析

    一.架构 Ceph在一个统一的系统中独特地提供对象,块和文件存储. Ceph高度可靠,易于管理且免费. Ceph的强大功能可以改变您公司的IT基础架构以及管理大量数据的能力. Ceph提供了非凡的可扩 ...

  2. postman设置全局变量

    //处理token var jsn = JSON.parse(responseBody) console.log(jsn.access_token) //把access_token设置到全局变量中 p ...

  3. final关键字、finally代码块和finalize()方法有什么区别?

    1. final是关键字,final可以修饰类.方法.属性. 如果一个类被final修饰,那么这个类就是最终类,不能派生出新的子类,不能作为父类被继承,该类中的所有方法都不能被重写,但是final类中 ...

  4. 使用python实现数组、链表、队列、栈

    引言 什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表,集合和字 ...

  5. Python中的boolean类型

    Python中所有数据类型的值自带布尔值.如此多的数据类型中只需要记住只有0.None.空.False的布尔值为False,其余的为True. print(bool(0)) print(bool(No ...

  6. IJKPlayerView设置Header播放视频的方法

    播放b站视频连接的实测图 https://github.com/Rukey7/IjkPlayerView 使用库的连接 在用这个库播放b站视频连接的时候总是播放不了 检查了一下是因为b站视频连接需要验 ...

  7. POJ2182题解——线段树

    POJ2182题解——线段树 2019-12-20 by juruoOIer 1.线段树简介(来源:百度百科) 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线 ...

  8. Spring Boot微服务电商项目开发实战 --- 分布式开发要避的那些坑

    今天已经进入第七讲了,整个微服务架构的搭建工作也基本完成.那到目前为止究竟使用了那些技术及实现了什么功能呢?我们先回顾一下. 使用的技术:SpringBoot.Dubbo.Zookeeper.Redi ...

  9. C# dictionary to bytes and bytes convert to dictionary

    static byte[] GetBytesFromDic(Dictionary<string,string> dic) { if(dic==null || !dic.Any()) { r ...

  10. C# get md5,renamed file and can not change file's md5

    using System; using System.Text; using System.IO; using System.Security.Cryptography; namespace Cons ...