在 Visual Studio Webtest 中插入 120 秒等待

Posted

技术标签:

【中文标题】在 Visual Studio Webtest 中插入 120 秒等待【英文标题】:Insert 120 second wait in Visual studio Webtest 【发布时间】:2017-11-17 08:27:57 【问题描述】:

我想在两个 Web 请求的执行之间添加 120 秒的延迟。我尝试过使用思考时间,但它不会暂停执行 120 秒。

谁能告诉我如何添加等待以暂停执行 120 秒(在执行 2 个 Web 请求之后),然后继续执行下一个请求。

我正在使用 Visual Studio 2015。

【问题讨论】:

你能发布你的代码吗?也许System.Threading.Thread.Sleep(1000 * 120) 可以解决你的问题。 【参考方案1】:

在收到回复后处理思考时间。因此,要在两个请求之间设置延迟,请在第一个请求上设置思考时间。我已经成功地使用了长睡眠时间。思考时间可以在测试中禁用,因此请确保它们已启用:

1 在“.testsettings”文件的Web 测试 部分中。

2 在场景的 Think profile 属性中。如果延迟应该(尽可能接近)正好 120 秒,则将配置文件设置为 On

3 Visual Studio 运行独立 Web 测试时的默认设置是不使用思考时间。因此,一切都尽可能快地运行。上述 (1) 中的设置可用于更改默认值。可以从 Web 测试结果窗口的“编辑测试设置”命令对默认值进行临时更改;此更改仅适用于由同一窗口中的“单击此处再次运行”启动的测试运行。

如果这两个请求实际上是不同的网络测试,那么场景的测试迭代之间的思考时间属性可能会很有用。

如果有可能将此测试用作负载测试的一部分,请不要使用任何任务或线程delay(或sleep)方法,因为它们会阻止许多虚拟用户运行。请参阅this answer 的第一部分以获得更完整的解释。如果 Web 测试从不在负载测试中使用,则可能会使用 delaysleep 调用。

【讨论】:

你是对的@AdrianHHH。更改 webtest 中的“.testsetting”文件对我有用。根据您的指示,我已从代码中删除了 Thread.sleep。 转到 local.testsetting > webtest > 选中“模拟思考时间”复选框,点击应用并点击关闭。这解决了我的问题。【参考方案2】:

你可以这样做

 Thread.Sleep(Number_Second);

【讨论】:

这可以做一些扩展,把这段代码放在哪里?但是 - 首先没有显示任何代码 - 这是一个很难回答的问题。 谢谢。 System.Threading.Thread.Sleep(120000);为我工作。 请在 Visual Studio Web 测试中使用此方法时非常小心,因为我在回答这个问题时写下了原因。

以上是关于在 Visual Studio Webtest 中插入 120 秒等待的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 负载测试用一个用户模拟多个用户

是否可以将 Visual Studio 负载测试从编码转换为可视化?

在 visual studio 中如何看它执行的步骤,

visual studio 中 如何还原.bak数据文件

visual studio 2005中win form 中控件背景颜色透明问题

Visual Studio 高级程序在 Visual Studio Express 中打开?