2013-11-14 130 views
1

如果JMeter测试失败,我该如何停止Jetty? 我的摇篮脚本:Gradle:如果JMeter测试失败,我该如何停止Jetty

apply plugin: 'jetty' 
apply plugin: 'jmeter' 

jmeterRun { 
    doFirst() { 
     jettyRunWar.httpPort = 8080 // Port for test 
     println "Starting Jetty on port:" + jettyRunWar.httpPort 

     jettyRunWar.daemon = true 
     jettyRunWar.execute() 
    } 
    doLast() { 
     println "Stopping Jetty" 

     jettyStopWar.stopPort = 8091 // Port for stop signal 
     jettyStopWar.stopKey = 'stopKey' 
     jettyStopWar.execute() 
    } 

    jmeterTestFiles = [ 
     file("src/test/jmeter/Tests.jmx") 
    ] 
} 

回答

0

您可以使用该方法finalizedBy确保JMeter的是否成功运行或失败时码头停止不管。

jmeterRun { 
    dependsOn jettyRunWar 
    finalizedBy jettyStopWar 
} 
+0

您的代码会产生错误:无法在任务中找到属性'jettyStopWar':jmeterRun' – isobretatel

+0

Jetty插件提供的标准任务名称为jettyStop。你在上面提到'jettyStopWar',所以我假设你用这个名字创建了另一个任务。如果它不存在,它当然不会起作用。 –

+0

我有类似的问题。你能帮我在这个http://stackoverflow.com/questions/24103802/gradle-embedded-jetty-plugin-is-not-stopping-automatically –

0

尝试以下设置:

在doFirst()

jettyRunWar.stopPort = 8090 
jettyRunWar.stopKey = 'stopKey' 

在doLast()

jettyStop.stopPort = 8090 
jettyStop.stopKey = 'stopKey' 

不知道它是与此相关的Link或错误你只需要指定jetty的stopPort来监听。

当我在intelliJ中运行jettyRunWar任务后停止码头时出现了问题,但是在我的build.gradle中有4个设置允许我通过运行jettyStop任务来停止码头。

+0

我有类似的问题。你能帮我在这个http://stackoverflow.com/questions/24103802/gradle-embedded-jetty-plugin-is-not-stopping-automatically –

相关问题