开放API (练手接口测试):聚合数据
接口测试工具:
firefox 的HttpRequester插件
在线接口测试工具: http://www.atool.org/httptest.php
jmeter: 优点可以参数化 函数,csv,beanshell,
postman
sopaUI pro是需要收费的: http和webservice 两种接口 。步骤:新建项目>新建restful类型请求>输入参数、接口URL 发送请求
- 利用soapui来完成打桩的测试:在程序没有出来的时候,需要打桩模拟测试
- 利用soapui完成webservice接口的测试
- 参数转移 property transfer (就是关联的意思),datasource的使用
- groovey脚本语言
load runner
选中函数 ctrl+f1,可以 查看函数的帮助告诉你函数怎么用。
c语言版的,java版的。
写代码测试接口:
- 请求连接、接口URL
- 请求参数
- 请求方法:get,post
- 调用工具发包
- 响应
- 断言:判断结果是否与期望值一样
java版的HttpClient库 (用户手册)。支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本。新建lib目录,HttpClient库下载后放入测试项目的lib目录(注意这个lib目录,选中所有的jar文件,右键build path > add to build path)
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;
import java.io.*;
public class HttpClientTutorial {
private static String url = "http://www.apache.org/";
public static void main(String[] args) {
// Create an instance of HttpClient.
HttpClient client = new HttpClient();
// Create a method instance.
GetMethod method = new GetMethod(url);
// Provide custom retry handler is necessary
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
try {
// Execute the method.
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
// Read the response body.
byte[] responseBody = method.getResponseBody();
// Deal with the response.
// Use caution: ensure correct character encoding and is not binary data
System.out.println(new String(responseBody));
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
} finally {
// Release the connection.
method.releaseConnection();
}
}
}
python版本的 request库
入门笔记
背景描述:2017-2018年的改变是非常大的,技术的发展要求:人员更加的专业化,分工更加明确,产品快速的迭代,要求敏捷化,开发模式的变化:前后端分离了,
世界是复杂的,搞清楚它的本源,其实就不是那么的复杂了。
学习接口测试,要搞清楚HTTP的协议,HTTP的请求流程,HTTP的常用请求方法,HTTP的常用状态码,Cookie的请求流程,Session的请求流程以及Token的请求流程等。
然后怎么使用工具or 代码来实现这个过程。
搞清楚应用层的协议,就基本知道了从哪里来到哪里去的原理,只不过工具或者代码只不过是一种选择的交通方式,知道目的地,选择什么样的交通方式就简单了。
测试工具:PostMan,JMeter,SoapUI等,
代码:Pyhton(选择Python 好入门,学习速度也快,比起Java学习成本来说低)。
Python基础知识: 数据驱动DDT,单元测试框架 unittest,Requetsts,序列化jason.dump 与反序列化,内置数据结构,
项目相关的:CI持续集成,接口测试框架 ,Mock的知识点。