JMETER常用操作

1、jmeter做http脚本

Http请求页面内容介绍

添加cookie

线程组-添加-配置元件--HTTP Cookie管理器

添加权限验证

不能使用普通用户修改学生金币,接口文档中标注了只有admin用户有此权限

上传文件

2、jmeter做webservice脚本

3、参数化

用户定义的变量

函数生成器

文件读取--用文件导入的方式导入参数变量

3、关联、断言

它是用来检查返回结果对不对的。

用来验证结果是否正确,如果正确的话,就代表这个请求的返回是正确的,如果没有的话就代表这个请求的结果和我们预期的不一致,这样我们就可以通断言来检查返回结果,测试是否通过。

使用断言就可以不用每次都看察看结果树了,使用断言判断是否成功。

4、操作数据库

需要导入jar包

配置数据库访问信息

数据库

驱动

数据库url

mysql

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}?allowMultiQueries=true

oracle

org.postgresql.Driver

jdbc:postgresql:{dbname}

PostgreSQL

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:user/pass@//host:port/service

MSSQL

com.microsoft.sqlserver.jdbc.SQLServerDriver

或者

net.sourceforge.jtds.jdbc.Driver

jdbc:sqlserver://IP:1433;databaseName=DBname

或者

jdbc:jtds:sqlserver://localhost:1433/"+"library"

6、jmeter压力测试

设置并发

查看结果(聚合报告)

Linux下运行脚本

在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。

./jmeter.sh  -n –t  a.jmx  -l  res.jtl

-n 代表以没有界面的形式启动

-t  后面加的是测试的脚本

-l  后面加的是测试结果文件

添加压力机

压测的时候,可能由于并发量大,一台机子不够,要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢

  1. 运行Jmeter的bin目录下jmeter-sever.bat,linux作为压力机的话,运行jmeter-server
  2. 然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了

接口测试基础知识

接口测试的概念,接口主要分为两种:系统内部测试(程序中接口方法的调用,比如:Java中的接口和实现类的关系。关键字interface:创建接口类,implements:接口实现类),系统外部测试(前端通过网址访问后端接口,获取后端提供的数据信息)

接口测试是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等;通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果。

每个后台功能完成以后首先通过接口测试(常规数据、异常数据、临界值)检验,接口是否正常,来保证数据传输的正确性,减少成本(前端好改,后端逻辑比较复杂);完成接口测试后再进行前端页面UI测试以及页面输入值的正确性(页面输入值字符串中有空格,检测页面是否在传值过程中过滤掉空格)。

接口文档至少包括:

1、接口说明

2、调用url

3、请求方法(get\post)

4、请求参数、参数类型、请求参数说明

5、返回参数说明

Get请求和post请求的区别

1.get使用url(url?username=wy&age=23)或cookie传参;而POST将数据放在BODY中。

2、GET的URL会有长度上的限制,则POST的数据则可以非常大。

3、POST比GET安全,因为数据在地址栏上不可见。

4、一般get请求用来获取数据,post请求用来发送数据。

HTTP状态码

每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:

1.200  2开头的表示成功发送请求,并且响应正常

2.300  3开头表示重定向,302,将请求重定向到别的地方了

3.400   400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面

4.500  500表示服务器内部异常,504表示服务器端访问超时没有返回结果。

通用接口用例设计

接口安全

1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?(不明白这是如何实现的)

2、绕过身份验证,是否普通用户可以拥有超级用户的权限

3、参数是否加密,比如:用户名和密码是否加密, 如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。(如何拦截请求)

4、密码安全规则,密码的复杂程度校验

1) 纯数字、纯字母、纯特殊字符

2) 密码长度

3) 数字字母混合

4) 汉字做密码

异常验证

必传非必传、参数类型、入参长度。

接口测试用例模板

咱们测试接口的话,肯定要写测试用例,写测试用例的话,就要有一个用例模板,那需要有哪些字段呢?

1、项目            是哪个项目的

2、模块            这个接口是属于哪个功能模块的

3、用例id

4、接口名称

5、用例标题      用例是干嘛的

6、请求方式      GET/POST

7、请求url         url地址

8、请求参数

9、前置条件       有依赖的时候,比如说要测登录失败3次的

10、结果验证     预期结果

11、请求报文

12、返回报文

13、测试结果    通过/失败

14、测试人员

如何测试webservice接口测试

 

webservice接口怎么测试呢,他不需要你在拼报文了,会给一个webservice的地址,或者wsdl文件,直接在soapui导入,就可以看到这个webservice里面的所有接口,也有报文,直接填入参数调用,看返回结果就可以了。

天气预报wsdl地址:http://www.webservicex.net/globalweather.asmx?wsdl

jmeter接口测试 ——学习笔记的更多相关文章

  1. JMeter接口学习笔记2017

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

  2. Python 开发与接口测试学习笔记

    这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangopr ...

  3. 接口测试学习笔记(Jmeter)

    常见接口协议: 1.http 超文本传输协议 2.https 安全超文本传输协议 3.ftp 文件传输协议 4.tcp 网络控制协议 5.IP 互联网协议 6.udp 用户数据协议 -- HTTP协议 ...

  4. 基于python的接口测试学习笔记一(初出茅庐)

    第一次写博客笔记,讲一下近来学习的接口自动化测试.网上查阅了相关资料,最后决定使用python语言写接口测试,使用的是python的第三方库requests.虽然python本身标准库中的 urlli ...

  5. jmeter新手学习笔记(一)

    使用jmeter做接口测试--设置线程组 1.创建线程组 2.设置线程数配置信息 线程组:常用于模拟并发用户访问,例如需要100个用户访问该接口,线程数则设置为100 Ramp-Up Period:决 ...

  6. jmeter 参数化学习笔记

    上次写了在接口的交互过程中,系统返回的内容,需要在接下来的交互中用到,从而把参数进行参数化的关联,这次写一下在压测过程中,如果每次发起请求参数名相同,单参数值需要替换的,我们需要进行的参数化. 在使用 ...

  7. jmeter接口测试------基础笔记

    1.postman发送json格式的post请求,直接放链接 row里面body放请求参数,得到请求结果 2.jmeter请求json时需要注意在请求前创建http信息头管理器,然后信息头添加一条名称 ...

  8. web自动化测试中接口测试学习笔记

    一.web基础 web是实现:客户端浏览器端<—————>服务端  交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...

  9. Postman接口测试学习笔记

    1.postman界面 下载安装postman工具,以下是postman的界面 快捷区:提供常用的操作入口,新建请求,执行器,导入别人共享的收藏夹测试数据,包括运行收藏夹的一组测试数据: 侧边栏:搜索 ...

随机推荐

  1. Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C

    It's that time of the year, Felicity is around the corner and you can see people celebrating all aro ...

  2. c# 串口操作

    public class CommPort : IDisposable { public string Port = ""; ///<summary> ///波特率96 ...

  3. Java基础:(七)反射

    一.什么是反射 理解反射之前,先要搞懂一件事情,类加载到底是怎么一回事? 类加载相当于Class对象的加载.每个类都有一个Class对象,包含了与类有关的信息.当编译一个新类时,会产生一个同名的.cl ...

  4. sql 2008 中不能创建数据库关系图

    执行以下命令: ALTER AUTHORIZATION ON DATABASE::[databasename] TO sa [databasename] 为数据库名: 此方法借鉴于<老高> ...

  5. ajax取到数据后如何拿到data.data中的属性值

    今天遇到的ajax取到数据后如何拿到data.data中的属性值的问题 比如拿到了数据 我要取出data中的name 题外话:当然取名最好别取什么奇怪的xiaobi

  6. display:inline-block间隙产生的原因以及解决方案

    display-inline-block是让元素在一行显示,但是这些元素在html里面是上下行排列的,所以中间有换行符,于是并排显示就有了换行符带来的空隙.那么如何解决呢? 方案一:将html标签要d ...

  7. php分页代码及总结

    代码部分: <?PHPheader("Content-type:text/html;charset=utf-8");$pageSize = 10;//接收传入的分页码$pag ...

  8. springmvc学习经验

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring ...

  9. log4cxx安装使用

    log4cxx安装使用 log4cxx现在是apache的一个项目,用来记录日志.看名字就知道,是给c++使用的. 环境(在以下2个环境中进行验证测试): gcc (Ubuntu 4.8.4-2ubu ...

  10. FZU 2204 7

    题意: n个有标号的球围成一个圈.每个球有两种颜色可以选择黑或白染色.问有多少种方案使得没有出现连续白球7个或连续黑球7个? 思路: 如果出现连续的8,9...个球同色,那么也必定含有7个同色.需要统 ...