zoukankan      html  css  js  c++  java
  • jmeter接口测试 ——学习笔记

    JMETER常用操作

    1、jmeterhttp脚本

    Http请求页面内容介绍

    添加cookie

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

     

    添加权限验证

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

    上传文件

     

    2、jmeterwebservice脚本

     

    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"

     

    6jmeter压力测试

    设置并发

     

    查看结果(聚合报告)

     

    Linux下运行脚本

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

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

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

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

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

    添加压力机

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

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

    接口测试基础知识

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

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

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

    接口文档至少包括:

    1、接口说明

    2、调用url

    3、请求方法(getpost

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

    5、返回参数说明

    Get请求和post请求的区别

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

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

    3POSTGET安全,因为数据在地址栏上不可见。

    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

  • 相关阅读:
    Zabbix二次开发_03api列表
    Zabbix二次开发_02获取数据
    Zabbix二次开发_01基础
    运维监控体系
    并发检测主机ip存活脚本
    Python的paramiko模块ssh操作
    Oracle数据迁移expdp/impdp
    Mongodb的备份与恢复
    利用微信小程序实现web监控界面
    不会JS中的OOP,你也太菜了吧!(第二篇)
  • 原文地址:https://www.cnblogs.com/yunyuan01/p/9079719.html
Copyright © 2011-2022 走看看