可做实名认证的网站,seo综合查询站长工具怎么用,全国企业信用信息公示系统网站,百度舆情系统接口测试 1. 接口的分类#xff1a;webService和http api接口1#xff09; webService接口#xff1a;是按照soap协议通过http传输#xff0c;请求报文和返回报文都是xml格式#xff0c;一般要借助工具来测试接口#xff1b;2#xff09; http api接口#xff1a;是按照…接口测试 1. 接口的分类webService和http api接口 1 webService接口是按照soap协议通过http传输请求报文和返回报文都是xml格式一般要借助工具来测试接口 2 http api接口是按照http协议传输的请求报文是key-value格式返回报文json串一般常用的请求方式是get和post请求。 2. 接口测试其实就是功能测试也是测试业务逻辑只不过没有页面可以点接口测试就是按照接口规范文档提供的调用地址、请求参数、拼接报文发送请求检查返回结果。 3. 接口测试的必要性 1 能够发现很多页面点击发现不了的bug 2 提高系统的异常处理能力 3 前端随便变接口测好了后端不用变。 4. 接口文档至少得包括 1 接口的说明 2 调用地址的URL 3 请求参数参数的类型请求参数的说明 4 请求方式 5 返回值的说明。 5. get和post请求 1 get请求能直接在浏览器中发送请求 2 post请求需要借助工具来发送。 3 两者的区别 i get请求使用URL或cookie传参host请求使用请求体body传参 ii get请求的URL在长度上有限制post请求没有 III post请求比get请求安全因为get请求数据放在URL中 IV get请求一般用来请求数据post请求一般用来发送数据get请求数据发在请求头中post请求数据放在请求body中。 6. http状态码http有1个状态码来标识每次请求是否成功常见状态码有如下几种。 1 2002开头的都表示这个请求发送成功。 2 3003开头的表示重定向常见的是302把请求重定向到别的URL了。 3 4004开头的表示客户端发送的请求有语法错误 I 常见的401表示访问的页面需身份验证 II 403表示服务端拒绝访问请求 III 404表示没有这个页面。 4 5005开头的表示服务器有异常 I 500代表服务器内部有异常无法完成请求 II 503表示服务暂时不可用 III 504代表服务器端超时无返回结果。 7. 如何测webService接口 前提要知道测试的URL或wsdl文件直接在soapui中导入即可导入后能看到所有接口填写参数调用接口 查看返回结果即可。 8. 通用的接口用例设计 1 通过性验证保证这个接口功能是好使的也就是正常的通过性测试按照接口文档上的参数正常传入发送请求看是否可以返回正确的结果。 2 参数组合有一个操作商品的接口有个字段type传1的时候代表修改商品商品id、商品名称、价格有一个是必传的type传2的时候是删除商品商品id是必传的这样的就要测参数组合了type传1的时候只传商品名称能不能修改成功id、名称、价格都传的时候能不能修改成功id传2时传入商品id是否删除成功。 3 接口安全 1、绕过验证比如说购买了一个商品它的价格是300元那我在提交订单时候我把这个商品的价格改成3元后端有没有做验证更狠点我把钱改成-3是不是我的余额还要增加 2、绕过身份授权比如说修改商品信息接口那必须得是卖家才能修改那我传一个普通用户能不能修改成功我传一个其他的卖家能不能修改成功。 3、参数是否加密比如说我登陆的接口用户名和密码是不是加密如果不加密的话别人拦截到你的请求就能获取到你的信息了加密规则是否容易破解。 4、密码安全规则密码的复杂程度校验。 4 异常验证异常的也就是我不按照你接口文档上的要求输入参数来验证接口对异常情况的校验。比如说必填的参数不填输入整数类型的传入字符串类型长度是10的传11总之就是你说怎么来我就不怎么来其实也就这三种必传非必传、参数类型、入参长度。 5 根据业务逻辑设计用例把业务的测试点列出来然后造数据验证这些测试点。 9. 练习发送【获取所有学生信息】的请求发现察看结果树-》响应数据中中文处显示的都是乱码。 解决方法在jmeter安装目录/bin/jmeter.properties文件中找sampleresult.default.encodingxx 后面xx改成utf-8然后取消注释 10. 练习发送【添加学生信息】接口请求时在http请求的 Body Data 中写的中文为什么都是乱码方框中间有个问号 解决方法在jmeter安装目录/bin/jmeter.properties文件找到 JSyntaxTextArea把注释取消就行了。 11. 练习发送【添加学生信息】接口请求时传参中有中文请求成功后再从【查看所有学生信息】接口看到中文参数显示的乱码。 解决方法在content-encoding中写上utf-8将中文以utf-8格式编码然后发送请求 jmeter 1. jmeter跨平台的windows mac Linux下都可以用使用前必须装jdk。 2. jmeter参数化 1 用户定义的变量 2 函数生成器 3 从文件中读取 3. 1 jmeter关联获取返回的值保存起来给其它请求用或做其它一些处理。关联是通过jmeter的正则表达式提取器实现的。 例子有一个购买商品的接口必须要先登录才能够购买商品 那么你调用接口的时候怎么知道是否已经登录了一般这样的都会在调用的时候传一个token的参数服务端判断token是否过期或者token是否正确如果正确的话那就是登录成功了就可以买东西了。token是从哪来的呢肯定是从登录接口返回的因为要先登录那这样就得先调用登录接口 获取到token然后把获取到的token传给购买商品的这个接口。 2 实际练习时候出现1个问题正则表达式自己手动输入时运行察看结果树一直提示“未登录” 而从登录返回的数据中复制json串修改为sign:(.*),后运行提示操作成功的 解决方法后来把两次操作的表达式复制到sublime Text中就能很明显的看出原因了提示未登录的那个表达式后少一个空格但在jmeter中很难看出来加上空格即可。 4. jmeter操作mysql 1 导入jar包直接在测试计划中导入外部jar包mysql-connector-java-5.1.7-bin.jar或者将jar包放在jmeter安装目录的lib包中重启jmeter即可。 2 配置数据库连接mysql的URL、端口号用户名密码 3 写sql 执行sql查看结果。 4 jdbc request从数据库查出来的结果中文显示??? 解决方法jdbc连接配置的Database URL中加上characterEncodingUTF-8 5 query type为Callable Statement执行多条sql语句 5. jmeter path extractor下载地址https://jmeter-plugins.org/wiki/JSONPathExtractor/ 转载于:https://www.cnblogs.com/qiezizi/p/8028137.html