Jmeter 接口测试:使用教程(下)
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快上一篇我给大家讲了jmeter的基本介绍跟参数化和jmeter脚本及jmeter断言今天让我们继续往下看学习一下jmeter新的知识点。一、Jmeter关联我们知道断言是从返回结果中检查有没有预期的值现在有一个问题有一个购买商品的接口必须要先登录才能够购买商品 那么你调用接口的时候怎么知道是否已经登录了一般这样的都会在调用的时候传一个token的参数服务端判断token是否过期或者token是否正确如果正确的话那就是登录成功了就可以买东西了。那么这样的话你就要先获取到tokentoken是从呢来的呢肯定是从登录接口返回的因为要先登录嘛那这样就得先调用登录接口 获取到token然后把获取到的token传给购买商品的这个接口。关联就是做这个事的它就是获取到返回的值然后保存起来给别的请求使用或者做一些其他的处理。Jmeter中的关联是通过正则表达式提取器来完成的。通过上面的关联就可以把返回中我们想要的值抓到了给其他请求使用的时候直接使用${name}即可name就是你关联的时候设置的变量名。二、Jmeter操作mysql1、Jmeter操作mysql步骤1导入jdbc的jar包因为jmeter本身不能直接连接mysql所以需要导入第三方的jar包来连接mysql2创建数据库连接配置mysql的url、端口号、账号、密码3写sql执行sql4查看结果2、Jmeter数据库驱动列表数据库驱动数据库urlmysqlcom.mysql.jdbc.Driverjdbc:mysql://host:port/{dbname}?allowMultiQueriestrueoracleorg.postgresql.Driverjdbc:postgresql:{dbname}PostgreSQLoracle.jdbc.driver.OracleDriverjdbc:oracle:thin:user/pass//host:port/serviceMSSQLcom.microsoft.sqlserver.jdbc.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driverjdbc:sqlserver://IP:1433;databaseNameDBname或者jdbc:jtds:sqlserver://localhost:1433/library3、Jmeter配置mysql连接1、添加一个JDBC Connection Configuration2配置mysql连接池的名称后面发sql请求的时候指定连接哪里3数据库的urljdbc:mysql://192.168.1.116:3307/bugfree?allowMultiQueriestrue4数据库驱动这里就是指定连接什么类型的数据库mysql、oracle、SqlServer等等5账号密码三、Jmeter操作mongodb1、Jmeter操作mongodb步骤1添加一个MongoDB Source Config配置mongodb连接信息指定ip和数据源2添加一个mongodb的请求脚本指定数据源3写查询语句4查看结果2、Mongodb操作语句show dbs;查看所有数据库use db;选择一个数据库show collections;查看所有集合也就是表db.collection.find();#查询所有数据db.collection.find({name:mongodb});#查询指定的条件db.collection.insert({name:mongodb,age:18});#插入数据db.collection.update({“name”:“mongodb”},{$set:{“createtime”:“20150810”}});#更新数据db.besttest.remove({“name”:“mongodb”});#删除指定数据四、Jmeter压力测试做压力测试也就是多少用户一起去操作也就是设置多少并发运行多久。1、压力测试场景设置一般我们在做压力测试的时候分单场景和混合场景单场景也就是咱们压测单个接口的时候多场景也就是有业务流程的情况下比如说一个购物流程那么这样的场景就是混合场景就是有多个接口一起来做操作。1单场景一个请求就可以了2混合场景多个请求3压测时间一般场景都是运行10-15分钟如果是做疲劳测试的话可以压一天或者一周根据具体的情况来定2、压力测试数据准备在做压测的时候数据量少和数据量大的情况下测试的结果是不一样的所以我们在设计场景的时候是要考虑到这种情况的要测试数据库中数据量大和数据量小的情况如果是要测试数据量大的情况下就要造数据了造数据可以使用jmeter操作数据库来造数据也可以使用python连接数据库批量的造数据。3、压力测试结果查看查看结果关注的几个指标1tps是每秒钟处理的请求数也就是指服务器的处理能力tps越高说明服务器处理能力越好2响应时间也就是每个请求的处理时间3并发用户数 也就是多少并发五、Linux下运行jmeter压力测试我们在做测试的时候有时候要运行很久公司用的测试服务器一般都是linux就可以运行在linux下面linux下面不能像windows一样有图形化界面那怎么运行脚本呢就先在windows上把脚本做好然后在linux下运行即可linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。sh jmeter.sh -n –t a.jmx -l res.jtl-n 代表以没有图形化界面启动-t 代表后面是测试脚本a.jmx 也就是我们做好的jmeter脚本-l 代表测试结果res.jtl 就是测试结果文件查看结果的话在查看结果树视图中导入这个res.jtl就可以查看到测试结果了Jmeter添加负载机我们在压测的时候可能并发比较大 一台机子已经启动不了那么多并发了这个时候我们就要使用多台机子一起来发压力就要添加压力机添加压力机怎么添加呢首先要在做压力机的机子上启动jmeter的代理然后做为控制机的机子上添加上压力机的ip即可。1、Jmeter的bin目录下有一个jmeter-server启动它即可windows机子作为压力机的话运行jmeter-sever.batlinux作为压力机的话运行jmeter-server2、然后在作为控制机的jmeter配置文件里添加压力机ip即可jmeter的配置文件在bin目录下jmeter.properties添加压力机的时候在配置文件里面找到remote_hosts添加ip然后重启jmeter就可以看到远程压力机了后重启jmeter就可3、在配置文件里面添加之后重启jmeter在运行的时候就可以看到压力机的ip了可以选择他来运行这个脚本全部运行的话也就是所有压力机上的全部都启动就选择远程全部启动就所有的压力机就都运行了。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。