soapui接口性能测试(五)---- 命令行执行

来源:互联网 发布:天津日报大厦14楼 知乎 编辑:程序博客网 时间:2024/06/06 07:40

创建后,您可能希望从命令行运行LoadTests,也许作为持续集成构建的一部分,或用于监视服务的日常性能。SoapUI提供了一个命令行运行程序和maven插件来执行此操作。

该运行程序在您的SoapUI \ bin文件夹中可用,并适当地命名为loadtestrunner.bat / .sh。它需要一些与报告,属性等有关的参数,这些参数可以使始参数列表的创建变得乏味(命令行选项都在LoadTestRunner Reference中详细介绍,这里我们将专注于最常见的)。幸运的是,UI包含一个启动Loa初dTestRunner的向导,

LoadTest弹出式菜单中提供了“启动LoadTestRunner”选项:

它会弹出如下对话框:

默认情况下,对话框将选择相应的LoadTest,但是TestSuite / TestCase / LoadTest下拉列表允许您扩展执行范围,例如将loadtest设置为“<all>”将运行项目中的所有LoadTests。默认情况下,SoapUI在SoapUI \ bin文件夹中使用loadtestrunner。

您可以通过在“TestRunner路径”字段中指定所需的loadtestrunner的路径来更改为另一个版本(可能用于测试目的)。
“保存项目”选项确保在启动之前保存包含要运行的LoadTest的当前项目,以便在UI中进行的任何修改都适用于命令行执行。

当执行的LoadTest修改项目文件中应该保留的某些状态时,应使用“Save After”选项,最值得注意的是,是否您使用的DataGen TestStep与Number属性不希望重新启动每次运行。

该  Overrides 选项卡允许您覆盖通过在负载测试的所有请求使用的端点,主机和端口。

配置的Limit和初始ThreadCount可以更改为替代值,使您可以轻松地重新运行具有不同限制和负载的相同LoadTest。与安全相关的覆盖应用于请求级别,例如,您可能正在将主机更改为需要Basic或WSS身份验证的服务器。

“  报告”  选项卡允许您配置为LoadTest结果生成的报告以及保存它们的位置。

最后两个选项在开源版本中被禁用,因为它们是SoapUI Pro中报告功能的特定之处。“报告生成”字段应包含“创建报告”对话框中可用的相应报告之一的名称:

相应地,“报告格式”选项应该包含要生成的格式的逗号分隔列表。对于可打印报告,可用值为PDF,XLS,HTML,RTF,CSV和XML,用于数据导出,它们是XML和CSV。

该  属性 -Tab,让您在执行负载测试(S),覆盖任何全局,系统或项目属性;

明显的用处例子是,如果您以某种方式参数化了TestCase,并需要相应地更改这些参数。

最后是“ Custom Args选项卡,允许您将任何自定义参数添加到命令行调用中:

好的,现在让我们通过按“启动”按钮来运行LoadTest。弹出一个窗口,显示LoadTestRunner在执行时的命令行调用和输出,当LoadTest完成时,我们看到以下内容:

所有这些都似乎已经很好了,日志告诉我们,LoadTest报告已经在指定的文件夹中创建,打开它显示我们所需的结果;

上面显示了我们需要注意的另一个(相当重要的)事实,与从UI中运行它们相比,从命令行运行测试可以稍微更快(从而提供更好的结果)。如果我们在SoapUI Pro中运行上述测试,我们得到:

比命令行测量的TPS和AVG值低约7%。差异是由于更新表等引起的UI开销。

让我们从控制台运行完全相同的测试; 正如您可以在第一个输出屏幕截图中看到的那样,loadtestrunner.bat文件将被启动,如下所示:

我们可以将其粘贴到记事本中并获取以下参数:

loadtestrunner.bat -ehttp://127.0.0.1:8088 / mockServiceSoapBinding  -s“Simple TestSuite”-c“简单登录和注销w。属性步骤”  -l“LoadTest 1”-m120 -n10 -r  -fC:\ Work C:\ Users \ UserName \ SoapUI-Tutorials \ Sample-SOAP-Project-soapui-project.xml

如果这是所需的配置,我们可以使用此字符串并在其他命令行调用中使用它,或者在创建自动运行时,在命令提示符下(请务必使用引号将空格包围参数)。

关掉它吧!