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

jmeter测试客户端

在本文中,我们将看到如何使用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,Selenium服务器保留在路径变量中。 要进行检查,请从命令行键入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 Sampler脚本,您需要使用任何浏览器(驱动程序)配置添加WebDriver Sampler(sampler –> webdriver sampler)。 请参阅浏览器支持部分中的图像以获取驱动程序配置元素。

我将提供一个单独的帖子,其中包含有关如何编写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

jmeter测试客户端

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

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

相关文章

C语言实现面向接口编程

面向接口编程话不多说,先上一个面向接口编程的Demo:参考demo:1#include 2#include 34/********************************************5 * Note: 共用接口的定义 6 * author:bug菌 7 *******************************************/8struct Interface {9 …

「C语言」指针数组 数组指针 指针函数 函数指针

相信很多人和我一样,有着这样的恐惧,那就是这四个玩意怎么也分不清,这都是啥啥啥啥呢?今天我们来具体分析一下。其实要具体了解这四个概念,只需要了解符号优先级,并关注最后两字,你就成功了一半…

聚集索引和非聚集索引的区别_武汉无疫情小区居民可在小区内非聚集性个人活动...

3月18日,武汉市新冠肺炎疫情防控指挥部社区疫情防控组发布《关于无疫情小区、村(队)调整管控措施的意见》(下简称《意见》)指出,全市认定的无疫情小区、村(队)可对管控措施作有序调整。 被认定为无疫情小区的,允许居民分批、分时段、分楼栋&a…

C语言 | 指向指针的指针排序

C语言实现用指向指针的指针的方法对5个字符串排序并输出。 解题思路:读者看着道题的时候,首先要知道什么时指针,指向指针的指针应该怎么用,一般在开发中不这样用,读者要看明白,这个很锻炼思维的。C语言源代…

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

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

流媒体服务器 php,nginx 流媒体服务器 FFmpeg 截图

预备:yum install -y automake autoconf libtool gcc gcc-c1.安装phpyum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel php-fpm2.安装 nginxyum –y install nginx nginx-devel3.安装FFmpeg安装 Install ffmpeg 等模块yum -y install ffmpe…

C语言应用笔记:C语言typedef关键字及其使用

C 语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的…

java不支持发行版本12_主要发行版本后Java开发人员应使用的15种工具

java不支持发行版本12新部署的生存工具包:适用于Java开发人员的工具,这些工具经常将代码部署到生产中! Takipi会检测生产中的所有错误,并像发生错误时一样显示变量值 立即部署并获得免费的T恤 新部署的终极生存套件 与在僵尸末…

php get raw,file_get_contents(“php:// input”)或$ HTTP_RAW_POST

慕用2447696file_get_contents(php:// input) - 获取原始POST数据,你需要在编写API时使用它,并且需要XML / JSON / ...输入,这些输入无法通过PHP解码为$ _POST 一些例子:通过邮寄JSON字符串发送function fn(){var js_o…

绑定dictionary 给定关键字不再字典中_对字典嵌套的理解及二级下拉菜单的制作...

大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第51讲:对字典嵌套的理解及二级下拉菜单的制作.在讲字典的时候,我反复说明,字典看视非常简单,由于它具有直达性可以省略去我们大量的循环查找代码,所以使用起来要特别留意很多用法和常…

C语言小笔记

C99标准下可以指定结构体的成员初始化。typedef struct{int a;int b; } Test;Test test {.a 10, .b 15};C99标准下可以指定数组下标初始化。int a[5] { [2] 5, 6, [4] 7 };方便的数据打印。打印一个整型值数据:int count 10; printf("count %d\n"…

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

lua中keyvalue再次出现。..彼得斯撰写了有关Unsafe用法的书面概述 ,我将简要介绍一下Java中的低级技术如何通过启用更高级别的抽象或允许Java性能级别来节省开发工作可能很多人都不知道。 我的主要观点是表明,将对象转换为字节,反之亦然是一…

C++基础教程示例详解:C++中的I/O重定向

在C语言中,我们可以使用函数freopen()将现有文件指针重定向到另一个流。freopen()的原型如下FILE * freopen ( const char * filename, const char * mode, FILE * stream );例如,要将stdout重定向为文本文件,我们可以编写freopen ("tex…

租房界的php,php实现出租房数据管理及搜索页面

这篇文章主要为大家详细介绍了php出租房数据管理及搜索页面的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下php数据访问例子:租房信息管理,具体内容如下1.数据库建表2. zufangzi.php租房子区域:全选requi…

ln函数怎么看奇偶性_Python中函数的参数应该怎么理解?看完这篇文章情不自禁的想收藏...

前面给大家讲过,函数是一种编程思想,是提高代码重复利用的设计思路,是代码设计更深层次的产物。今天要给大家讲的就是函数的核心:函数的参数基本概念1、函数的参数:是指函数完成某项功能所需要的信息。举个例子&#x…

面向对象设计思想-C语言

面向对象的三个特征:封装,继承,多态。但是C语言不是面向对象编程语言,所以需要借助一些技巧来实现这三个特征:(1)C语言没有成员函数,struct只能封装数据,不能封装方法&am…

three.js加载3d模型_基于WebGL的3D技术在网页中的运用 ThingJS 前端开发

Three.js、ThingJS这些引擎库可以加载3D制作软件的模型&#xff0c;大幅度提高了制作效率&#xff0c;改变WebGL开发困难的局面&#xff0c;让Web开发者享受便捷的3D开发服务。三者的难度对比如下&#xff1a;ThingJS&#xff08;框架&#xff09;< Three.js&#xff08;引擎…

C语言 | typedef

C语言typedef用新的类型名代替原有的类型名//指定用Integer为类型名&#xff0c;作用与int相同。 typedef int Integer&#xff1b;//指定用Real为类型名&#xff0c;作用与float相同。 typedef float Real&#xff1b;C语言允许程序设计者用一个简单的名字代替复杂的类型形式命…

php珠心算源码,深度解析珠心算的“开智”功能

编者按&#xff1a;本文来自李绵军校长在廊坊智慧特训营演讲。李绵军校长通过十几年来对珠心算的钻研练习&#xff0c;详细解读了珠心算的开智功能&#xff0c;以及“一门深入”的作用。珠心算的开智价值是在哪里&#xff1f;大家都说开发智力&#xff0c;我在这讲开发智力不是…

C语言 函数

定义函数在 C 语言中&#xff0c;函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分&#xff1a;返回类型&#xff1a;一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值&#xff0c;在这种情况下&#xff…