我的用例是进行 http 调用,从响应中的 Location 标头获取重定向 url,并使用此 url 执行负载测试。该 url 是动态生成的,因此是最初的第一个 http 调用。请注意,测试第一个 http 调用不是我的测试的一部分。实现这一目标的最佳方法是什么?加特林中是否有类似于 @BeforeMethod 的等效项?加特林本身可以用来进行独立的http调用还是我需要使用基本的scala来实现这一点?到目前为止我有这个:
val httpConfig = http
.inferHtmlResources()
.acceptHeader("*/*")
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.header("Authorization", "Negotiate " + token)
.doNotTrackHeader("1")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0")
val scn = scenario("My Tests").exec(http("Health check")
.get("https://example-server.com")
.check(status.is(200)))
setUp(
scn.inject(atOnceUsers(10))
).protocols(httpConfig)
Run Code Online (Sandbox Code Playgroud)
我对加特林和scala的理解是有限的。因此就有了这个基本问题。
我有一个 api 端点,每个请求都需要是不同的 id ,但是如何为所有 VU 共享的每次迭代创建一个全局且连续的 id ,就像数据库表上的主键一样。
前任:
request 1 : <id>400</id> VU :1
request 2 : <id>401</id> VU :1
request 1 : <id>402</id> VU :2
request 3 : <id>403</id> VU :1
request 4 : <id>404</id> VU :1
request 2 : <id>405</id> VU :2
request 3 : <id>406</id> VU :2
Run Code Online (Sandbox Code Playgroud)
有没有办法声明一个由整个测试共享的变量?根据文档,Setup 和 Init 是针对每个 VU 的,不能共享数据。
我们正在创建一个简单的网站,但有用户登录(大约25000个并发用户).我该如何计算不.需要支持它的实例?
我在一个项目中使用Wowza Media Server的网络摄像头记录功能.它通过RTMP记录网络摄像头馈送,RTMP通过闪存文件连接.它一切正常,但我需要强调/加载测试功能,以检查它是如何扩大规模的.
我已经完成了几次http负载测试,这很好,但我不确定如何最好地模拟RTMP连接.显然,根据网络摄像头记录的性质,模拟可能相当困难,但是正确方向的任何指针都会受到赞赏.
我有一个Visual Studio 2010负载测试,其中包含许多Web性能测试.运行Web性能测试需要您登录到测试的网站.因此,负载测试包含一个初始化步骤 - 一个小的Web性能测试,它执行登录,并使用插件来缓存如此获得的cookie."真正的"Web性能测试 - 实际完成工作的测试也都有一个插件,可以读取缓存的cookie并将其添加到测试中,以便每个测试都能正常运行:
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
if (CookieCache.Cookies != null) // CookieCache is a static class of mine
e.WebTest.Context.CookieContainer.Add(CookieCache.Cookies);
Run Code Online (Sandbox Code Playgroud)
问题是虽然这一切在我运行负载测试时都能正常工作,但这意味着我无法单独运行任何Web性能测试,因为如果负载测试初始化程序没有运行那么就没有cookie,所以web性能测试将不会登录并将失败.
这种情况有没有推荐的解决方案?换句话说,如果Web性能测试需要登录,是否有任何方法可以让它独立运行并且何时进行负载测试?
单独运行每个Web性能测试的明显方法是让它首先调用登录测试,但我不能这样做,因为这对于负载测试来说是不正确的行为(每个用户只登录一次,在负载测试开始时).
有没有人知道是否有更新为Visual Studio 2010负载测试安装新的"浏览器"?默认情况下,2010只有IE 7,8和旧版本的chrome,safari和firefox.
我试图在JMeter脚本中使用beanshell预处理器进行参数化.我的JMeter脚本结构如下所述.测试计划 - >线程组 - >事务控制器 - >请求.我想知道我应该遵循哪个程序来动态地将值传递给请求.
屏幕截图和示例的描述将更有帮助.
提前致谢.
jmeter load-testing beanshell parameterization jmeter-plugins
测试Web应用程序.我只为一个网页吸引了100个用户,100个加速和循环计数1.
图像描述1:在HTTP请求页面上如果我标记为已选中跟随重定向,则结果显示失败.

图像描述2:在HTTP请求页面上,我没有标记跟随重定向检查&创建用户后我运行测试结果没问题,但响应代码:302,响应消息:找到

这是一个错误吗?那么这个解决方案是什么?谁将解决这个问题,开发人员(构建代码)或测试人员(使用jmeter)?] 1
请一位回复.谢谢
testing unit-testing jmeter load-testing performance-testing
我在非gui模式下使用jmeter脚本运行负载测试.
我使用以下命令以非gui模式运行JMeter,结果存储在Test.jtl文件中
sh jmeter.sh -n -t ThreadGroup.jmx -l Test.jtl
Run Code Online (Sandbox Code Playgroud)
写入Test.jtl的样本数据如下所示,不会打印响应数据.有没有办法打印响应数据,也可以通过改变jmeter脚本或以上命令?
任何帮助,将不胜感激.
1453272193899,231,HTTP Request-staging-qqq-customer1,200,OK,Thread Group two 1-6,text,true,466,231
1453272193927,227,HTTP Request-staging-TT2-customer1,503,Service Unavailable,Thread Group two 1-1,text,false,751,227
1453272193963,222,HTTP Request-staging-TT2-customer1,503,Service Unavailable,Thread Group two 1-2,text,false,604,222
1453272194026,238,HTTP Request-staging-TT1-customer1,200,OK,Thread Group two 1-3,text,true,448,238
1453272194131,233,HTTP Request-staging-qqq-customer2,200,OK,Thread Group two 1-6,text,true,466,233
Run Code Online (Sandbox Code Playgroud)
谢谢
我使用Firefox创建了完全相同的演示场景(在网站主页上着陆),并使用Gatling和Jmeter测试了这些工具。
当我用500 VU一次(一次)执行这两个命令时,响应时间(Gatling为800毫秒,Jmeter为3000毫秒以上)之间得到了巨大的差异,而JMeter在Gatling期间显示了超过29%的故障仅显示1%
信任哪一个?
由于该应用程序仍在开发中,因此加特林似乎并不可靠,因为我们知道响应时间通常约为2.5秒。