什么是接口

接口
功能测试 分2种: UI功能 一个server功能

在电脑上的点点点点 都是UI功能

PC(浏览器)想看东西 我们要经过几个过程
PC(浏览器)发送请求到服务器端1:tomcat中间件(LInux)
tomcat中间存放程度的代码和HTML 请求 数据库服务器(WINdows)

浏览器发送请求到服务器 服务器找到该请求的HTML
服务器把HTML的代码发送给浏览器
浏览器进行解析后就能看到网页

因为所有的请求都是通过接口来执行的

我们常见的接口能干什么
1.检查浏览器到服务器 或者到数据库的信息是否正确
2.通过接口 模拟大数据的输入和输出就是性能
3.将病毒或者危险的代码植入接口就能造成安全隐患

常见的接口有什么呢?
我们上网需要网络协议 才能有网络流通
所以 页面要看就需要协议
常用的协议:HTTP和Soap协议
协议下面有接口请求
HTTP:get和post
soap:webseriver
get:1.看网页 2.明文传递数据
post:暗文传递数据
webseriver:跨平台或者跨服务传递数据

get方法:常见就是
例如1:www.baidu.com
浏览器输入www.baidu.com通过get接口把请求传递给服务器
服务器把百度的首页HTML找到 并返回给浏览器 浏览器解析后
能看到百度首页

例如2:www.baidu.com/fdsfds/fdsfds/fdsa
拆分:www.baidu.com是接口的地址(IP地址)
/fdsfds/fdsfds/fdsa是tomcat下面存放的路径

例如3:www.baidu.com/fdsfds/fdsfds?name=123&password=345&id=456
拆分:
www.baidu.com是接口的地址(IP地址)
/fdsfds/fdsfds是tomcat下面存放的路径
?是参数开始的符号 就是告诉你 后面的就是参数了
&是链接符 就是告诉你 不同的参数中间要有不同的链接符号

name是参数1 参数1的值是123
password是参数2 参数2的值是345
id是参数3 参数3的值是456

当今最常用的加密为MD5 ,但是MD5是最好破解的

post:方法
区别:就是传参一个·能看到 一个看不到 没了

做接口测试的练习 推荐的网站:
1.https://www.juhe.cn
2.http://www.webxml.com.cn/zh_cn/index.aspx

做接口 一定要看懂接口文档

郁闷….
看接口文档:
1.看文档上面的接口地址
接口地址:http://apis.juhe.cn/cook/query.php
2.看可有试用的是什么类型的接口
请求方式:get/post
3.例子
请求示例:http://apis.juhe.cn/cook/query?key=&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn=3
4.参数的说明
5.错误码参照

输入就是上面的那些
输出看的是什么:1.服务器状态码 2.返回的内容

服务器状态码:
2XX:OK 说明服务器有返回的内容(内容对不对不管)
4XX:客户端的错误(不是浏览器错误,
指的是浏览器发送的请求错误,比如ip地址错误 或者参数错误)
5XX:服务器错误:1、挂了 2.防火墙拦截

但是我们要写用例要写啥?
1:正向用例:肯定能通过接口拿到数据的
2:反向:反向不要瞎写 写肯定是错误的
例如:
204601 菜谱名称不能为空
204602 查询不到相关信息
204603 菜谱名过长
204604 错误的标签ID
204605 查询不到数据
204606 错误的菜谱ID

只要把以上的内容查看一遍即可

功能完事
说性能

性能工具就是通过监控接口的输入 它来模拟大数据的灌入
看服务器是否能坚持住

所以所有的性能工具都能做接口测试。
所有的性能工具的脚本都是监控接口流量的内容
比如lr:
lr的脚本通常都是get和post
我们录制脚本 也是让LR去监控XX协议下的数据的输入和输出
之后形成的脚本

lr:get方法 的函数是 web_url
post方法是:web_submit_data

性能就是将接口的方法做成脚本 但是是一个事物对接口的输入
我们通过参数化等方法 加大输入的值 形成大数据的输入
所以服务器压力会变大

web_url(“自己起的名字 随意”,

"URL=http://www.testtao.com/",//左面是接口的地址 
。。。略
LAST ); 

以上就是get接口方法

post方法
web_submit_data(“自定义 随意”, //

"Action=http://lazarus/flightnet/default.aspx", 
上面的是post接口的地址

"Method=POST", 

略 

ITEMDATA, 

"Name=参数1", "Value=参数1的值", ENDITEM, 

"Name=参数2", "Value=参数2的值", ENDITEM, 
。。。
LAST ); 

LR脚本 就是get post get post 来回来去的写
jmeter就是get post get post 来回来去的写

有接口文档·看文档 没有接口文档 抓包
抓包工具有很多 我个人教的是初级的fiddler

fiddler好的地方是对IE的支持
其他浏览器也支持 但是 需要自己打签名

用IE做例子
怎么用:
第一步:看到要抓包的网址
第二步:清空内容
第三步:将状态变为拦截
第四步:输入内容

抓包的好处
1.,没有接口文档,不知道有哪些参数需要传递
2.暴力传递参数,参看是否有安全隐患
3.可以破解

猜你喜欢

转载自blog.csdn.net/zljain/article/details/81452903