gpt4 book ai didi

testing - 您如何针对多个服务器有效地运行测试自动化以进行验证?

转载 作者:行者123 更新时间:2023-11-28 20:12:41 24 4
gpt4 key购买 nike

场景:25 个具有相同 Web 应用程序的 Web 服务器。

我们正在使用 Visual Studio 和 WatiN 进行自动化,现在我们基本上运行了三个测试。在测试中,它在运行时遍历每个服务器。

测试:登录 ForEach 服务器 获取服务器 x 运行测试

在这种情况下,此测试将运行 25 个时间循环,如果每个测试需要 2 分钟才能运行,那么验证时间将近一个小时。太长了!!! :(

我希望能够将这项工作分散到多个测试代理中。

问题是这个测试只能在一个代理上运行,因为它是一个测试。

我要避免的方法是,针对每台服务器创建一个特定的测试,并避免重复。

测试:登录服务器 1 在服务器 1 上运行测试

测试:登录服务器 2 在服务器 2 上运行测试

以此类推,25次

我希望有人可以分享他们围绕此类设置实现的内容。

最佳答案

我从事一个项目已经一年多了,它正是这样做的!

我们有大约 400 个 nunit 测试使用 watin 来测试我们公司的网站。该项目的第一个版本使用了 10 个虚拟机来运行测试(因此可以运行 10 个并发测试)。

新版本将使用我发现的名为 Sandboxie 的应用程序 - http://www.sandboxie.com .此应用程序允许您在沙盒中运行应用程序(这意味着来自一个测试的 cookie 不会干扰另一个测试的 cookie)。它有一个 .net 包装器,(我在底部添加了动态链接版本)- http://www.sandboxie.com/phpbb/viewtopic.php?t=9041

经过一番折腾后,我意识到沙盒在 VM 上不能很好地工作(在虚拟机上运行虚拟应用程序空间?!?Derp)。所以现在我们有 4 台物理机(当前)有 10 个沙箱(所以现在可以运行 40 个并发测试)。以下是该项目的概述:-

Web UI.  Requests test to be run by...
-> Test Server (windows service on server). Adds requests to database and passes on to...
-> Test controller 1 (windows service on client 1)
-> Test runner (console app on client 1) in Sandbox 01
-> ...
-> Test runner (console app on client 1) in Sandbox 10
-> Test controller 2 (windows service on client 2)
-> Test runner (console app on client 1) in Sandbox 01
-> ...
-> Test runner (console app on client 1) in Sandbox 10
-> Test controller 3 (windows service on client 3)
-> Test runner (console app on client 1) in Sandbox 01
-> ...
-> Test runner (console app on client 1) in Sandbox 10
-> Test controller 3 (windows service on client 4)
-> Test runner (console app on client 1) in Sandbox 01
-> ...
-> Test runner (console app on client 1) in Sandbox 10

如果您有任何问题,我很乐意为您提供帮助!

菲尔

关于testing - 您如何针对多个服务器有效地运行测试自动化以进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5983054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com