2013-11-14 73 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 –

相關問題