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. Yii2.0权限系统,使用PhpManager的方式

    网上搜了一大堆yii2.0权限系统,大抵都是千篇一律,而且基本上都是DbManager.看了半天官方文档之后,终于知道了PhpManager的方式下,是怎么引入权限系统.介绍下我自己的使用.首先,配置 ...

  2. 去掉 Ctrl + A 全选

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public ...

  3. Auto yes to the License Agreement on sudo apt-get -y install oracle-java7-installer

    参考一 参考二 我自己的做法是: && add-apt-repository ppa:webupd8team/java \ && apt-get update \ &a ...

  4. ssis-oracle 数据流任务

    [OLE DB 源 1 [16]] 错误: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.对连接管理器“F360DB”的 A ...

  5. C# 操作 sqlite

    1.下载sqlite:http://system.data.sqlite.org/downloads/1.0.94.0/sqlite-netFx20-setup-bundle-x86-2005-1.0 ...

  6. Java基础:(六)关键字

    一.final 数据: 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量. 对于基本类型,final使数值不变: 对于引用类型,final使引用不变,也就不能引用其他对象, ...

  7. 用Meta标签代码让360双核浏览器默认极速模式打开网站不是兼容模式

    公司所作的页面在360下打开都会遇到在360下自动跳到360兼容模式引发许多兼容问题,摸索了好久终于在网上找到了怎么解决的方法,详情如下: 其实360给网站开发者设计了一种选择的方法,只要加入一段Me ...

  8. MVC与Holla聊天工具

    MVC 是一种设计模式, 它将应用划分为 3 个部分 : 数据( 模型). 展现层( 视图) 和用 户交互层( 控制器). 换句话说, 一个事件的发生是这样的过程 : 1. 用户和应用产生交互. 2. ...

  9. cocos 2d-x 3.0配制环境

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  10. ThreadLocal的内存泄露

    ThreadLocal的目的就是为每一个使用ThreadLocal的线程都提供一个值,让该值和使用它的线程绑定,当然每一个线程都可以独立地改变它绑定的值.如果需要隔离多个线程之间的共享冲突,可以使用T ...