在红宝石中执行黄瓜步骤内的jmeter测试计划

时间:2014-05-22 11:54:10

标签: ruby cucumber jmeter

这一定很容易,但我很挣扎,所以我在这里发布。我是Jmeter的新手,我必须用它来发送消息。我正在测试一个消息传递门户,它使用核心消息传递应用程序,门户网站从该应用程序获取数据。现在有些客户端连接到此消息传递应用程序,当他们发送消息时,应用程序会处理它,门户网站应用程序会显示它。我现在正在使用JMeter作为模拟客户端接口的测试工具来发送这些测试消息。知道JMeter的我的同事创建了.jmx文件,该文件包含所有设置,网址,线程数,消息格式。我所要做的就是在GUI或命令行中打开.jmx文件并发送它。有用。我希望JMeter的这个过程在我的黄瓜步骤中自动发送消息。所以当我写下一个步骤时:

'Given when clients sends a message'
then the step definition would be a command or script to execute the JMeter test plan. 

我尝试通过在步骤定义中给出行来执行此操作:

system('start jmeter.bat -n -t sample.jmx ') 

我正在使用ruby,系统命令是执行外部命令的ruby方式,在这种情况下它是一个windows命令。 -n是以非GUI模式运行JMeter而-t是提及.jmx文件。我在这里遇到的问题是,无论何时我在非GUI模式下运行JMeter,它都会打开一个终端,执行并且控件保持在那里。因此,当我在我的黄瓜步骤中使用此脚本时,控件将保留在终端中,并且我的黄瓜场景失败。 我怎样才能以不同的方式做到这一点,以便JMeter测试计划在后台执行,或者让控制回到我的黄瓜步骤?

注意:我可能有一个使用ruby-jmeter gem的解决方案:https://github.com/flood-io/ruby-jmeter但我找不到如何使用gem执行此操作的方法。在宝石中,他讲述了在本地运行测试计划或在flood-io上运行,但不是在不同的网址上运行。在我的例子中,url是消息传递应用程序正在侦听的IP地址,我使用JMeter中的JMS发布者通过GUI发送消息。我使用GUI创建了.jmx文件,并且可以在命令行中成功使用。请让我知道任何解决方案。

0 个答案:

没有答案