热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AdvancedLoadTestingScenarioswithJMeter:Part2-Data-DrivenTestingandAssertions

Data-DrivenTesting  当我们一遍又一遍地运行相同的查询时,数据库并不总是构建新的查询,而是重新使用以前的查询,以提高速度并优

Data-Driven Testing

   当我们一遍又一遍地运行相同的查询时,数据库并不总是构建新的查询,而是重新使用以前的查询,以提高速度并优化性能。 这种缓存阻碍了我们测试我们脚本的能力。

   为了避免这个问题,您可以将具有不同变量的CSV文件合并到JMeter测试中。 这些变量定义在不同的列中,这些列可以在以后在JMeter中引用。

   在这里,我们正在使用我们始终使用的简单的旅行社演示。 列是源端口和目标端口,行是端口名称。

   Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions  要合并变量,请将CSV配置元素添加到测试中。

  Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions


 根据您的列数填写文件名和变量名称。 在这个演示中,我们有两列。

  Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

   返回到采样器,并将参数名称从特定的更改为一般语法。 在这个例子中,从伦敦到$ {toPort}。

   Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions


   在运行测试之前,不要忘记更新线程组。 要确保您正在完成所有行,请更改循环数。 在这里,我们的CSV文件中有5行,所以我们经历了5个循环。

   Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions


  现在,运行测试以确保它正常工作。

  成功! 我们现在可以在“查看结果树”中看到电子表格中不同的结果组合,就像我们想要的那样。

  Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

  Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

   现在让我们继续说断言。


Assertions

  断言对于确保测试成功显示非常重要。

   为什么不是? 因为即使JMeter将HTTP状态代码识别为已批准,有时显示页面的内容也是错误的。 例如,当接收到的响应代码为200 OK时,可能会发生这种情况,但是由于登录凭据不正确,我们仍然收到自定义错误。

   断言可帮助我们管理这种问题 - 它们确保在测试期间将预期内容回复给用户。

   要使用断言,请首先确定在向用户显示的响应中期望找到哪些数据。 从我们的例子回到网站,我们可以看到我们的响应消息包含特定的端口。 这可能是一个问题,因为我们有5种不同的组合。

   Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

   断言确保我们正在检查的所有值(从CSV文件)都在响应消息中,这意味着用户正在获得正确的响应消息。

   添加一个断言:Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions


    在这种情况下,我们添加了一个响应断言,但有很多不同的类型:Size Assertion, comparing, looking into XML and JSON data, etc.等。

    响应断言可以应用于任何响应的组件,如报头,响应代码,主体,可能包含的任何非加密文档,甚至其子样本。 这里我们添加一个文本响应断言。

    要添加断言,您可以从应用程序中复制值,并将其添加到“要测试的模式”部分。 在这个例子中,我们更改端口变量以反映所有的组合,正如它所说:您从$ {fromPort}到$ {toPort}的航班已被保留。

    Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

    运行测试 如果断言失败,JMeter会将其显示为错误。

     在输出中,我们可以看到测试成功,因为文本响应显示不同的端口组合。

     Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions

   Advanced Load Testing Scenarios with JMeter: Part 2 - Data-Driven Testing and Assertions    如果添加了断言侦听器,您也可以看到这些成功的结果。


推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 达人评测 酷睿i5 12450h和锐龙r7 5800h选哪个好 i512450h和r75800h对比
    本文介绍了达人评测酷睿i5 12450h和锐龙r7 5800h选哪个好的相关知识,包括两者的基本配置和重要考虑点。希望对你在选择时提供一定的参考价值。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
author-avatar
weiwei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有