不同的HTTP请求在同一线程中需要不同的身份验证头

2024-03-29 09:50:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Jmeter编写了一个测试计划来描述E2E场景的过程。我确实花了一段时间来编写它,因为用Jmeter调试确实不那么容易。在

Q1)我可以用python写同样的旅程。我可以选择使用任一方法创建这些minie2e并运行它们。你认为我应该使用Jmeter还是Python?利弊各有利弊。注意这些迷你E2E最终也将用于性能测试。在

Q2)我注意到的一点是,在Jmeter中我必须有2个线程,因为每个线程都使用它自己的头管理器(主要是因为不同的线程使用来自不同组的不同api,这些api使用不同的身份验证方法)。在

我也希望使用相同的测试计划来进行性能测试。既然我有多个线程(通过我标记为“连续运行线程组”)会不会出现线程冲突的问题,我如何保证?如何区分同一线程上的不同api使用不同的身份验证?在


Tags: 方法身份验证api管理器过程场景性能线程
2条回答

Python是一种编程语言,而不是一个测试框架,因此JMeter或用Python编写的测试工具可能是最好的选择。在

要在Sampler/API中使用不同的 Header Manager,只需将管理器置于采样器之下

The Header Manager lets you add or override HTTP request headers.

对于samplera集,可以将每个头管理器和采样器放在不同的控制器下,这样每个控制器将在其作用域下填充不同的头

JMeter now supports multiple Header Managers. The header entries are merged to form the list for the sampler. If an entry to be merged matches an existing header name, it replaces the previous entry, unless the entry value is empty, in which case any existing entry is removed. This allows one to set up a default set of headers, and apply adjustments to particular samplers.

JMeter线程完全独立,彼此不了解。因此,您可以使用任何合适的方法(functionsCSV Data Set Config)参数化HTTP头管理器,以便每个用户都有自己的身份验证头。您可以使用View Results Tree侦听器来验证这一点

JMeter Header Manager Debugging


如果您认为Python脚本更容易实现/调试,那么您可以看看Locust框架,您将能够在Python中创建/调试负载测试并在web界面中查看负载测试流。请参阅How to Run Locust with Different Users文章,以获取有关使用蝗虫实现场景的更多信息。在

相关问题 更多 >