Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 负载测试厚客户端Windows窗体应用程序_C#_Winforms_Performance_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Load Testing - Fatal编程技术网 servicestack,load-testing,C#,Winforms,Performance,servicestack,Load Testing" /> servicestack,load-testing,C#,Winforms,Performance,servicestack,Load Testing" />

C# 负载测试厚客户端Windows窗体应用程序

C# 负载测试厚客户端Windows窗体应用程序,c#,winforms,performance,servicestack,load-testing,C#,Winforms,Performance,servicestack,Load Testing,我们有一个厚客户端Windows窗体应用程序,它使用ServiceStack连接到应用程序服务器(当然,也使用ServiceStack实现)。我想为此服务器配置一些负载测试,但不确定如何继续 有很多负载测试软件,但看起来都依赖于“嘿,请录制我的网页浏览会话,然后播放”的方法。这在我们的情况下不起作用,因为我们不使用Web浏览器。更糟糕的是,我们的一些请求并不完全基于REST;相反,它们是包含多个相关字段的复杂对象(例如,一些高级搜索选项、需要加载的范围列表等)。这使得配置请求比只键入“myser

我们有一个厚客户端Windows窗体应用程序,它使用ServiceStack连接到应用程序服务器(当然,也使用ServiceStack实现)。我想为此服务器配置一些负载测试,但不确定如何继续

有很多负载测试软件,但看起来都依赖于“嘿,请录制我的网页浏览会话,然后播放”的方法。这在我们的情况下不起作用,因为我们不使用Web浏览器。更糟糕的是,我们的一些请求并不完全基于REST;相反,它们是包含多个相关字段的复杂对象(例如,一些高级搜索选项、需要加载的范围列表等)。这使得配置请求比只键入“myserver/api/get_stuff/1234”稍微困难一些


那么,是否有专门为ServiceStack设计的现成负载测试框架?除此之外,是否有一些通用框架可以让我轻松地手工创建自定义请求?或者我应该咬紧牙关,自己动手吗?

注意:这个答案是围绕一个通用测试框架,而不是专门针对ServiceStack

VisualStudio的Test/Professional/Ultimate版本包括围绕MSTest构建的负载和性能测试框架。如果我没记错的话,该框架还支持NUnit和其他测试框架

该框架还与TFS度量、报告和显示在构建仪表板上的功能很好地集成。下面是一个快速入门教程:

很多文档显示了web测试,但您也可以轻松地将其用于桌面应用程序

此外,如果要通过UI进行测试,请查看Microsoft UI自动化框架,该框架允许您访问应用程序上的UI控件。您可以在上阅读更多信息。

您可以签出应用程序,虽然它是使用ServiceStack构建的,但它不适用于ServiceStack,而是可以处理手工制作的URL

还有一个可移植版本,可在以下位置本地运行:

它包括一个Windows版本的
ab.exe
(the),它执行实际的基准测试,并将其结果输出到文本文件中,这些文本文件可以通过Http基准进行可视化和导出。以下是一些现有基准的示例:

它包括一个包含有关如何使用
ab.exe
的说明的。在项目主页上有许多
*.bat
脚本显示了如何在1
中运行多个基准测试。bat脚本
,例如


使用像
ab.exe
这样的实用程序很好,因为它简单且高度可配置,而且是命令行实用程序,如果您希望将其自动化并集成到CI服务器中,可以轻松地实现自动化。

感谢mythz,我现在就检查该应用程序,但在我这么做之前:如果我在做商业产品,我可以使用它吗?@Bugmaster是的,源代码本身是开源的,可移植版本符合ServiceStack的免费配额,因此不需要商业许可证。谢谢,这很酷。不幸的是,我无法让ab.exe与我的服务器一起工作。无论我做什么,它都会超时;同时,相同URL的wget工作正常。奇怪的是,ab.exe似乎确实可以与外部URL一起工作,所以是否有一些显而易见的错误是我做错了?@Bugmaster不确定它是否应该工作,它是否可以用于任何URL?i、 e.内部?只要我同时尝试多个请求,测试就会立即失败。这是ServiceStack中的某种限制吗?其他网址工作良好,内部和外部。。。