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

最新文章

  1. LINQ 联查多表数据并封装到ViewModel的实现
  2. CSS3入门之转换
  3. Android 利用内容观察者实现短信窃听
  4. js兼容方法:事件添加|事件绑定|事件监听 addEvent
  5. [Linux]可用于管道操作的命令
  6. 双心ping GUI工具1.0
  7. log4j+logback+slf4j+commons-logging的关系与调试
  8. 战舰少女 黑暗炼钢 按键精灵 代码及apk下载
  9. Android隐藏状态栏实现沉浸式体验
  10. Linux系统中,main函数的执行过程
  11. 奔小康赚大钱(km)
  12. MAC安装Securecrt破解
  13. ubuntu 下配置Web服务器
  14. angular ui-router 正则
  15. 一起来学Go --- (go的枚举以及数据类型)
  16. Oracle常见授权与回收权限——grant和revoke
  17. 深入理解数据库磁盘存储(Disk Storage)
  18. matlab练习程序(点云表面法向量)
  19. Postman接口调试神器
  20. Python学习——collections系列

热门文章

  1. AtCoder Beginner Contest 071 ABCD
  2. Net Core2.0 基于QuartzNet任务管理系统
  3. Yahoo!团队实践分享:网站性能优化的34条黄金守则
  4. HDU 1087 E - Super Jumping! Jumping! Jumping! DP
  5. MapReduce实战项目:查找相同字母组成的字谜
  6. redis启动内存不足
  7. spring cloud 测试的时候报 BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration' 但能正确跑完测试方法
  8. 微信支付(java版本)_统一下单
  9. MyBatis配置文件之properties属性
  10. SpringBoot 2.x (13):整合ActiveMQ