如何在JMeter中执行客户端Web性能测试?

在本文中,我们将看到如何使用Jmeter插件进行客户端性能测试。

我将使用jmeter webdriver插件。 在开始本主题之前,请从我以前的文章中获得有关客户端性能测试的一些基本信息。 因此,让我们开始吧:



安装

  1. 通过这篇文章之后的链接,从下面的链接安装Jmeter和插件
    • 捷米特
    • 插件 (您只能选择Web驱动程序,但我更喜欢所有这些插件
  2. 从这里下载Selenium Server 。 (您需要使用Java来运行它)
  3. 存档中下载Firefox 26。 为什么是26? 因为jmeter webdriver插件支持firefox26。在这里,您可以看到支持详细信息的链接

    注意:如果您有更新的Firefox版本,这可能会很棘手。 在这种情况下,您可以像我一样。

    • 禁用Firefox更新检查
    • 在单独目录名称的新文件夹中安装。

      安装[5]

    • 首次运行此程序时,只需取消初始更新过程即可。 当您禁用了Firefox更新(在更新的Firefox中)时,请确保您也看到了此Firefox 26中禁用的更新设置。

    注意:这部分有点棘手,我提供了单独的文章来解决它。

    对于Jmeter远程执行或本地,最好只有一个Firefox(版本26)没有自动更新设置,这样可以最大程度地降低测试执行的复杂性。

  4. 将firefox 26,硒服务器保留在路径变量中。 要进行检查,请从命令行键入firefox并运行。 您应该看到,firefox 26在桌面启动。

    图片[18]

    图片[9]

    图片[19]

  5. 设置Jmeter:通常,对于Webdriver采样器,我们不需要任何其他东西。 但是,由于需要调试,因此可以在user.properties文件中使用以下属性。

    webDriverJmeter [5]

    它启用了子采样,非常适合调试。

    webdriver.sampleresult_class=true

    让我解释一下它如何工作的: JMeter webdriver sampler只是http sampler的扩展,而不是使用脚本编辑器的替代。 当运行时,它实际上会调用由webdriver驱动的firefox。 这意味着,它主要将指令发送给webdriver,而webdriver会做所有事情。 现在,您可能想知道代码如何传递到Web驱动程序。 像其他代码支持一样,WebDriver核心按照JSR规范作为外部代码运行。 它实际上是JavaScript执行。 而且,您会看到,就像使用jmeter进行了一些基本修改的Webdriver Java代码一样。 我将提供单独的博客或编码。

    在将步骤写为webdriver脚本后,使用侦听器获取时间。 与其他采样器一样,您可以使用侦听器进行明智的调试。

浏览器支持

只需点击此链接 ,其中提到了webdriver sampler支持的可配置浏览器名称。 您也可以从jmeter中看到这一点:

图片[4]

时间测量

Webdriver采样器根据以下代码行计算时间:

WDS.sampleResult.sampleStart()

这行代码:

WDS.sampleResult.sampleEnd()

因此,为了进行调试,我们需要将子样本显示为主样本的子样本。 为此,我们需要激活
sampleresult_class (设置为true)。 激活后,我们可以像

WDS.sampleResult.sampleStart()
//Brows to a URL
//Add user name and password
WDS.sampleResult.subSampleStart('Log In request')
//Click Log in
WDS.sampleResult.subSampleEnd(true)
//Check title
//do some another process
WDS.sampleResult.sampleEnd()

在视图结果树侦听器中,您可以看到包含子样本名称“ Log In request”的主样本。 一个主样本可以有多个子样本。 这意味着,我们可以与结果树分开计算每次时间。

请注意,子样本不会以表格格式的侦听器或图形单独显示。

而且,如果我们需要衡量特定的交易,我们可以在多个webdriver样本中拆分单个测试。 例如,用于登录的采样器,用于在首页执行某些工作的采样器,用于消息传递的采样器等。通过这种方式,我们可以在报告中看到结果。 通常,每个业务交易都是在单独的样本中进行度量的,其中详细步骤将被子抽样。

编写第一个脚本:

要编写WebDriver采样器脚本,您需要在任何浏览器(驱动程序)配置中添加WebDriver采样器(sampler –> WebDriver采样器)。 请参阅浏览器支持部分中的图像以获取驱动程序配置元素。

我将提供一个单独的帖子,介绍有关如何编写Webdriver测试脚本的示例。 您可以在wedriver sampler Wiki上看到一些不错的指南

测试计划:

从我以前的客户端性能测试文章中可以知道,该测试应从单个用户或线程运行。 当jmeter采样器使用Webdriver填充浏览器时,这具有特定的硬件要求。 也就是说,它将占用处理器的单个线程。 这意味着, 如果要运行Webdriver采样器,则至少需要2个核心CPU 。 为什么是2核心? 另一个是Jmeter。 因此,如果您有8个核心CPU,则只能为Webdriver采样器运行7个线程。 因此,对于测试,我们必须为webdriver sampler添加单独的线程组或测试块。

我们将在以下时间运行以衡量客户端执行时间:

  1. 用户负载不大时
  2. 当服务器上的平均负载
  3. 高负荷时(视为峰值负荷)

有时,也可以测试以下内容:

  1. 超出容量时,可能会发生错误,也可能在错误发生之后。
  2. 作为连续性能测试。 通常,人们每天或每周使用jmeter进行选定的回归测试。

同样,该公式很简单, 用于单个客户端性能测试的1个CPU线程。

而且,您只需像Jmeter测试一样运行测试即可。

翻译自: https://www.javacodegeeks.com/2015/01/how-to-perform-client-side-web-performance-testing-in-jmeter.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转载]Buffon投针实验:究竟为什么是pi?

Buffon投针实验:究竟为什么是pi? Brain Storm | 2009-11-06 20:16| 57 Comments | 本文内容遵从CC版权协议 转载请注明出自matrix67.com数学学习真正悲哀的就是,记住了某个神奇而伟大的定理,看懂了其最严密的推导过程,…

初始化懒惰关系以及何时使用它们的5种方法

实体之间关系的延迟加载是JPA中公认的最佳实践。 它的主要目标是仅从数据库中检索请求的实体,并仅在需要时加载相关实体。 如果我们只需要请求的实体,那是一个很好的方法。 但是,如果我们还需要一些相关实体,它会增加工作量&#…

fieldset ----- 不常用的HTML标签

fieldset 元素可将表单内的相关元素分组。 <fieldset> 标签将表单内容的一部分打包&#xff0c;生成一组相关表单的字段。 当一组表单元素放到 <fieldset> 标签内时&#xff0c;浏览器会以特殊方式来显示它们&#xff0c;它们可能有特殊的边界、3D 效果&#xff…

使用入站适配器公开HTTP Restful API。 第1部分(XML)

1.简介 这篇文章的目的是使用Spring Integration HTTP入站适配器实现HTTP Restful API。 本教程分为两个部分&#xff1a; XML配置示例&#xff08;同一篇文章&#xff09;。 Java DSL示例。 这将在本教程的下一部分中进行说明&#xff0c;展示如何使用Spring Integration Ja…

使用jOOQ和JavaFX将SQL数据转换为图表

最近&#xff0c;我们已经展示了Java 8和函数式编程将如何为使用jOOQ和Java 8 lambda和Streams进行SQL数据的函数数据转换为Java开发人员带来新的视角。 今天&#xff0c;我们将这一步骤更进一步&#xff0c;将数据转换为JavaFX XYChart.Series以根据数据生成美观的条形图。 设…

node.js学习笔记(1)

一&#xff0e; 安装以及环境配置 安装路径 http://nodejs.cn/download/ 多种环境选择 环境变量的配置 Step1 先检查环境变量中的系统变量里面的path,查看是否加入了node.js 例如我的node.js安装路径是C:\Program Files\nodejs 那么&#xff0c;这个path里面就应该加…

主要版本发布后Java开发人员应使用的15种工具

新部署的生存工具包&#xff1a;适用于Java开发人员的工具&#xff0c;这些工具经常将代码部署到生产中&#xff01; Takipi会检测生产中的所有错误&#xff0c;并像发生错误时一样显示变量值 立即部署并获得免费的T恤 适用于新部署的终极生存套件 与在僵尸末日场景下玩弄&…

Java EE 7批处理和魔兽世界–第2部分

今天&#xff0c;我将把第二部分带到我以前关于Java EE 7批处理和《魔兽世界–第1部分》的帖子中。 在本文中&#xff0c;我们将了解如何从第1部分中获得的数据中汇总和提取指标。 概括 批处理目的是下载魔兽世界拍卖行的数据&#xff0c;处理拍卖并提取指标。 这些指标将建立…

js导航条 二级滑动 模仿块级作用域

for(var i 1;i<7;i){    //因为首级标题有6个&#xff0c;对每个首级标题添加mouseover和mouseout事件。    //这里用到块级作用域(function(k){document.getElementById("p_"k).addEventListener(mouseover,function(event){document.getElementById(p_…

struts+swfupload实现批量图片上传(上):swfupload

custom_settings : {progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel",uploadButtonId : "btnUpload",myFileListTarget : "idFileList" },custom_settings调用方法 this.customSettings.cancelButtonId 缩略图js …

40行中的持久性KeyValue Server和一个可悲的事实

再次出现。. 回顾 Peters关于Unsafe用法的书面概述 &#xff0c;我将简要介绍一下Java中的低级技术如何通过启用更高级别的抽象或允许Java性能级别来节省开发工作可能很多人都不知道。 我的主要观点是表明&#xff0c;将对象转换为字节&#xff0c;反之亦然是一个重要的基础&a…

TreeMap源码分析——深入分析(基于JDK1.6)

TreeMap有Values、EntrySet、KeySet、PrivateEntryIterator、EntryIterator、ValueIterator、KeyIterator、DescendingKeyIterator、NavigableSubMap、AscendingSubMap、DescendingSubMap、SubMap、Entry共十三个内部类。Entry是在TreeMap中用于表示树的节点的内部类&#xff0…

Python2.6 Cx_Oracle Linux下编译安装

分类&#xff1a; python Oracle 2012-06-07 00:04 239人阅读 评论(0) 收藏 举报(一) Python 2.6 安装 1.下载Python2.6.X 版本的源码包&#xff0c;这里采用平台编译安装。 Python-2.6.4.tar.bz2 2.解压缩 ,使用J参数解压bigz2类型的压缩文件 tar -jxvf Python-2.6.4.tar.bz2…

Apache TomEE(和Tomcat)的自签名证书

可能在大多数Java EE项目中&#xff0c;您将拥有具有SSL支持&#xff08; https &#xff09;的部分或整个系统&#xff0c;因此浏览器和服务器可以通过安全连接进行通信。 这意味着在处理数据之前&#xff0c;已发送的数据已加密&#xff0c;传输并最终解密。 问题在于&…

WEB效能测试和负载测试部分截图

效能测试&#xff1a; 负载测试&#xff1a; 转载于:https://www.cnblogs.com/DOOM-scse/archive/2013/01/07/2849110.html

Java8 Lambdas:解释性能缺陷的排序

与Peter Lawrey合作撰写 。 几天前&#xff0c;我对使用新的Java8声明式的排序性能提出了严重的问题。 在这里查看博客文章。 在那篇文章中&#xff0c;我仅指出了问题所在&#xff0c;但在这篇文章中&#xff0c;我将更深入地了解和解释问题的原因。 这将通过使用声明式样式重…

Asp.net MVC3.0 基于不同的角色显示不同的菜单

前面提到过用Asp.net MVC3.0正在做一个问答系统性质的论坛。前期把菜单全部显示以方便测试模块功能。现在正在完善&#xff0c;加上角色模块&#xff0c;然后不同的角色登陆系统会看到不同的菜单栏&#xff0c;还有就是游客&#xff08;未登录用户&#xff09;看到的菜单栏。网…

LoadRunner如何监控Linux下的系统资源

前一段时间在研究LoadRunner过程中&#xff0c;在进行压力场景测试中通过LoadRunner来实时监控windows的系统资源&#xff0c;在前几节中我已经总结了相关过程&#xff0c;近段时间发现群里有朋友问如何监控Linux下的系统资源&#xff0c;所以我也就此问题搭建了一些的Linux环境…

页面跳转多种方法(加传参)

onclick"javascript:location.href/HelpCenter/HelpCenter/" <a href"/HelpCenter/HelpCenter">帮助中心</a>点击页面返回上一页&#xff1a; onclick"javascript:window.history.go(-1); *********************************************…

JCG学院开设了Java设计模式课程!

自从我们推出JCG学院以来&#xff0c;已经有一段时间了。JCG学院是一个基于付费内容的高级订阅网站&#xff0c;提供有关最新技术的课程&#xff0c;涵盖从RedSQL数据库&#xff08;如Redis和CouchDB&#xff09;到使用Android进行移动开发的最新知识。 当然&#xff0c;与Jav…