在 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 测试从不在负载测试中使用,则可能会使用 delay
或 sleep
调用。
【讨论】:
你是对的@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 负载测试从编码转换为可视化?