用 Gatling 模拟文件下载

Simulate file download with Gatling

早上好,

我想用 Gatling 模拟文件下载。我不确定对文件资源的简单 get 请求是否真的模拟了它:

val stuffDownload: ScenarioBuilder = scenario("Download stuff") .exec(http("Download stuff").get("https://stuff.pdf") .header("Content-Type", "application/pdf") .header("Content-Type", "application/force-download"))

我想在同一时刻通过多次下载来挑战我的服务器,我需要确保我有正确的方法来做到这一点。

在此先感谢您的帮助。


编辑:其他headers我发送:

"User-Agent" -> "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
"Accept" -> "application/json, text/plain, */*; q=0.01",
"Accept-Encoding" -> "gzip, deflate, br",
"Accept-Language" -> "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7",
"DNT" -> "1",
"Connection" -> "keep-alive"

它在技术上看起来在全球范围内都很好,除了:

  • 你有 2 个 Content-Type?
  • 第二个有错吗?
  • 您是否还缺少其他浏览器 headers,例如 User-Agent?
  • 你是不是错过了像 Accept-Encoding 这样与压缩相关的重要内容?

但是关于功能部分,你是不是漏掉了之前的一些步骤? 我的意思是您的用户是立即访问 link 还是他们点击登录屏幕,然后进行搜索并最后单击 link?

此外,它总是同一个文件吗?您是否应该使用 Gatling CSV Feeders 引入一种可变性,例如一组文件?