Gradle:如果JMeter测试失败,如何停止Jetty

时间:2013-11-14 15:41:06

标签: jetty gradle jmeter

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

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")
    ]
}

2 个答案:

答案 0 :(得分:0)

无论JMeter是成功运行还是失败,您都可以使用finalizedBy方法确保Jetty停止。

jmeterRun {
    dependsOn jettyRunWar
    finalizedBy jettyStopWar
}

答案 1 :(得分:0)

尝试以下设置:

在doFirst()

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

在doLast()

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

不确定这是否是与此Link相关的错误,或者您只需要为要侦听的码头指定stopPort。

我在smartJ中运行jettyRunWar任务后遇到了阻止jetty的问题,但是我的build.gradle中有4个设置允许我通过运行jettyStop任务来停止jetty。