JMeter教程| Web性能测试技巧

Posted 京鸿智武

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter教程| Web性能测试技巧相关的知识,希望对你有一定的参考价值。

大家好,在本JMeter教程中,我将分享有关如何执行Web性能测试或使用Apache JMeter进行其他术语Web负载测试的信息。我将以isinolsun.com网站为例。首先,我们将定义我们的性能测试场景,然后记录下我们的场景,然后清理不必要的请求,最后添加必需的JMeter组件以创建更真实的性能测试脚本。

JMeter教程定义Web性能测试方案

我们的Jmeter教程 场景描述如下:

· 转到https://www.isinolsun.com

· 转到职位列表页面。

· 选择一个工作去了解它的细节。

· 转到选定的工作细节。

JMeter记录性能测试场景

首先,您需要打开JMeter并右键单击添加计划  ,然后选择HTTPS)测试脚本记录器 


如果你想检索所有嵌入式资源,你应该选中这个复选框。另外,您需要选择以下选项。另外,将端口值设置为8888 

JMeter教程| Web性能测试技巧


打开Firefox浏览器并转到网络设置  并执行手动代理配置 “,如下所示。 

JMeter教程| Web性能测试技巧

JMeter教程| Web性能测试技巧

然后,点击开始按钮开始录制。 

JMeter教程| Web性能测试技巧


你会看到下面的屏幕。点击确定继续。 

JMeter教程| Web性能测试技巧


然后,让我们将JMeter证书导入到Firefox。在Firefox隐私和安全  ,然后点击查看证书。

JMeter教程| Web性能测试技巧

 

然后,点击导入按钮。 

JMeter教程| Web性能测试技巧


选择ApacheJMeterTemporaryRootCA.crt  证书。

JMeter教程| Web性能测试技巧

 

并点击确定。 

JMeter教程| Web性能测试技巧


现在,在Firefox上打开https://www.isinolsun.com网站并执行给定的方案。注意:请确保firefox手动代理端口已被设置为“8888”。仔细检查一下。如果没有设置,请将其设置为8888. 当您开始录制时,您会看到以下状态。 

JMeter教程| Web性能测试技巧


我记录了一个场景,其中包括列出作业 ,然后单击指定的作业详情。记录结果如下所示。 

JMeter教程| Web性能测试技巧


现在,我们可以通过点击停止按钮来停止录制。 

JMeter教程| Web性能测试技巧


现在,我们应该清理录制结果并添加额外的功能。

清理JMeter记录结果 

我删除了,HotJarGoogle Apis,照片,文本文件等,如下图所示。您需要检查每个请求并删除这些不必要的请求。

JMeter教程| Web性能测试技巧

 

然后,我的方案请求如下所示。 

JMeter教程| Web性能测试技巧


让我们添加一个线程组并将所有请求移入它。 

JMeter教程| Web性能测试技巧


最终状态将如下图所示。 

JMeter教程| Web性能测试技巧


现在,我们可以运行测试,但在执行此操作之前,最好添加一个“ 查看结果树  来查看请求和响应详细信息。

JMeter教程| Web性能测试技巧

 

点击开始运行执行。 

JMeter教程| Web性能测试技巧


您将通过单击查看结果树查看结果。此外,您可以使用多种格式(如文本,htmlJSON等)查看请求和响应数据。

JMeter教程| Web性能测试技巧

 

我们来检查作业细节请求的请求数据。如下所示,我们应该点击相关的请求,然后点击请求标签。然后,我们可以看到请求的细节。在这里,我们有一个GET请求,如下所示。 

JMeter教程| Web性能测试技巧


现在,让我们看看Job List请求,并尝试收集所有作业链接,然后将它们作为参数发送给Job Detail请求,以便我们可以随机访问作业详细信息。这是一个更现实的场景。如果我们增加虚拟用户数量,他们每个人都将访问随机的工作细节页面。 

JMeter教程| Web性能测试技巧


正如您在屏幕截图上方看到的那样,我们需要获取作业的网址。我们可以通过几种方式获得这些信息,例如正则表达式提取器CSS提取器XPath提取器JSON提取器等。让我们尝试其中之一。让我们尝试CSS提取器。首先,最好到Chrome上的职位列表页面并选择一个合适的CSS选择器。我的目标是找到一个涵盖所有作业URL 正确的CSS选择器。正如您在下面看到的,“search-list-wrap a”  涵盖作业的所有URL。另外,您可以在本文中了解关于CSS选择器的更多信息。 https://www.swtestacademy.com/css-selenium/

JMeter教程| Web性能测试技巧

 

我将使用Ranorex Selocity来验证我的选择。https://www.swtestacademy.com/ranorex-selocity/
正如您在屏幕截图下方看到的,我找到了所有工作网址。现在,我需要将它们作为参数发送给作业详细信息请求。 

JMeter教程| Web性能测试技巧


现在,我们需要在JMeter上使用这个CSS选择器来检查它的功能,如下所示。选择CSS / JQuery测试器,然后将选择器写为“.search-list-wrap a”,然后将“href”写为属性,然后单击测试按钮。你会看到所有20个链接。 

JMeter教程| Web性能测试技巧


现在,问题是如何检索这些链接并将其用作参数,并随机为作业详细信息请求选择它们。为了完成这个操作,我们应该使用CSS / JQuery Extractor,如下图所示。

JMeter教程| Web性能测试技巧


我们应该设置如下所需的字段:

变量名称 =工作(你可以给你任何你想要的名字。)

CSS / JQuery表达式 = .search-list-wrap a(我们应该写我们的CSS选择器。)

Attribute = href(我们需要编写选择器的必需属性。)

匹配号码(0表示随机) = 0(您可以选择0作为随机选择) 

JMeter教程| Web性能测试技巧


然后,我们需要前往Job Detail请求,并使用我们之前定义的作业变量更改Path在更改之前作业详细信息请求如下所示。 

JMeter教程| Web性能测试技巧


更改后,请求应该如此。 

JMeter教程| Web性能测试技巧


现在,让我们运行我们的JMeter脚本。正如您在截图下方看到的,我们的性能测试没有任何问题,我们可以使用随机选择的作业变量来运行它。 

JMeter教程| Web性能测试技巧

现在,我们可以使用循环控制器或增加线程来添加多个用户。让我们增加线程并为多个用户运行测试。我将线程属性更改为10个用户,2个线程和2个循环计数。因此,我们将有20个请求,因为我们的线程数是10,循环次数是2,那么我们应该乘以这些值10 * 2 = 20。加速时间是2秒。 

JMeter教程| Web性能测试技巧

当我们通过点击绿色运行按钮来运行测试时,我们将在查看结果树上得到以下结果。正如你在下面看到的,每次我们去随机的工作细节。 

JMeter教程| Web性能测试技巧

通过这种方式,您将创建自己的场景,运行它们并分析项目的性能瓶颈。您还可以添加其他监听器来分析结果,例如汇总报告 

JMeter教程| Web性能测试技巧

JMeter教程| Web性能测试技巧 

此外,您可以将JMeter脚本导入某些云服务,并使用由云服务器生成的传入虚拟用户运行性能测试,并在信息丰富且美观的报告中分析结果。Loadium是提供这些服务的基于云的性能和负载测试解决方案。

正则表达式提取器

我们也可以使用其他提取方法来检索特定的响应数据。我向您解释了CSS / JQuery提取器,但您也可以使用正则表达式提取器JSON提取器。为了做到这一点,你需要点击后处理器 并选择正则表达式提取器 

JMeter教程| Web性能测试技巧

然后,转到响应数据(运行测试单击查看结果树单击响应数据),然后选择响应的特定部分并复制它。然后,将其粘贴到正则表达式测试框中,然后我们应该 用这个正则表达式替换我们想要检索  文本(。+?) 当您单击Test按钮时,您将看到结果。正如您在下面的屏幕截图中所示,[1]元素是我们的作业详细信息URL 

JMeter教程| Web性能测试技巧

现在,我们要复制我们的测试正则表达式,并粘贴到正则表达式的文本框正则表达式提取窗口

JMeter教程| Web性能测试技巧 

然后,为了测试这个变量,我在HTTP Request name上使用它作为$ {jobByRegEx}

JMeter教程| Web性能测试技巧

然后,我运行测试,看到它没有任何问题。 

JMeter教程| Web性能测试技巧

用户思考时间的JMeter计时器

在现实生活中,用户在工作列表页面上等待一段时间,然后打开他们喜欢的工作细节。为了为我们的网络性能脚本提供此功能,我们将添加JMeter计时器。在JMeter中有几个定时器可用,但基本的是定时器。它等待指定的时间。在这个JMeter教程中,我们将使用这个JMeter Timer。让我们在工作列表页面上添加3秒钟的思考时间。要做到这一点,我们应该右键点击Job Listing请求并添加如下所示的Constant Timer 

JMeter教程| Web性能测试技巧

现在,我们可以增加3000毫秒的等待时间来选择作业。 

JMeter教程| Web性能测试技巧

然后,我将我的线程号设置为3,然后运行测试。这一次,我看到我的执行在作业列表页面等待了3秒钟。结果如下所示。通过这种方式,您可以为性能测试负载测试压力测试脚本添加几个思考时间。 

JMeter中有很多选项可用于实现您的性能测试场景。您可以在需要时使用它们中的任何一个。在这个JMeter教程中,我试图解释一个使用Apache JMeter进行Web性能测试的示例场景。在下面的文章中,我将解释如何使用JMeter进行API性能测试


点击下方“阅读原文”查看更多

↓↓↓

以上是关于JMeter教程| Web性能测试技巧的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 性能测试入门手册分享

用Jmeter进行性能测试

在jnlp应用程序上进行性能测试

使用JMeter进行性能测试

Django 2021年最新版教程33Jmeter如何进行性能测试

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分