如何 运行 针对 Google App Engine 应用守夜
How to run nightwatch against a Google App Engine app
一位朋友今天向我介绍了 nightwatchjs (http://nightwatchjs.org/),我想尝试一下,看看它在我们的 Google App Engine 应用程序中使用起来有多容易。
我正在尝试创建一个调用 nightwatch 命令的 gradle 任务,但首先通过调用 appengineRun 命令确保 appengine 运行。
目前,任务看起来像这样:
task nightwatch(){
tasks.appengineDownloadSdk.execute();
tasks.compileJava.execute();
tasks.processResources.execute();
tasks.classes.execute();
tasks.appengineEnhance.execute();
tasks.war.execute();
tasks.appengineExplodeApp.execute();
tasks.appengineRun.execute();
exec {
executable "bash"
args "-c","nightwatch src/functionalTest/nightwatch/nightwatch.js"
}
tasks.appengineStop.execute();
}
我的第一个想法是:一定有更简单的方法!?!?
所以,我的问题实际上是这样的:
- 此任务似乎工作正常,只是它在 appengineRun 处停止,因为它不是 运行 守护进程模式。我怎样才能做到这一点?
- 如果这实际上不是最好的方法,那什么才是?
如果这不起作用,我将返回到在 JUnit 测试中使用 Selenium。对于那些感兴趣的人:我不需要跳过与 Selenium/JUnit 相同的箍,因为 appengineFunctionalTest gradle 任务确保开发应用程序已经 运行.
感谢人们提供的任何帮助!
我想您只需要 运行 它 在 appengineRun 之后?你只需要添加 dependsOn: appengineRun
然后。
此外,task
中的所有这些命令都是在 gradle 读取您的脚本时执行的,而不是在执行 taks 时执行的。这是一个配置块。您需要在那里使用 doLast {}
来设置应该执行的代码。
试试这个:
appengine {
daemon = false
}
task appengineDaemon() {
doLast {
appengine {
daemon = true
}
}
}
appengineRun.mustRunAfter(appengineDaemon)
task nightwatch(dependsOn: [appengineRun, appengineDaemon]) {
doLast {
exec {
executable "bash"
args "-c","nightwatch src/functionalTest/nightwatch/nightwatch.js"
}
}
}
一位朋友今天向我介绍了 nightwatchjs (http://nightwatchjs.org/),我想尝试一下,看看它在我们的 Google App Engine 应用程序中使用起来有多容易。
我正在尝试创建一个调用 nightwatch 命令的 gradle 任务,但首先通过调用 appengineRun 命令确保 appengine 运行。
目前,任务看起来像这样:
task nightwatch(){
tasks.appengineDownloadSdk.execute();
tasks.compileJava.execute();
tasks.processResources.execute();
tasks.classes.execute();
tasks.appengineEnhance.execute();
tasks.war.execute();
tasks.appengineExplodeApp.execute();
tasks.appengineRun.execute();
exec {
executable "bash"
args "-c","nightwatch src/functionalTest/nightwatch/nightwatch.js"
}
tasks.appengineStop.execute();
}
我的第一个想法是:一定有更简单的方法!?!?
所以,我的问题实际上是这样的:
- 此任务似乎工作正常,只是它在 appengineRun 处停止,因为它不是 运行 守护进程模式。我怎样才能做到这一点?
- 如果这实际上不是最好的方法,那什么才是?
如果这不起作用,我将返回到在 JUnit 测试中使用 Selenium。对于那些感兴趣的人:我不需要跳过与 Selenium/JUnit 相同的箍,因为 appengineFunctionalTest gradle 任务确保开发应用程序已经 运行.
感谢人们提供的任何帮助!
我想您只需要 运行 它 在 appengineRun 之后?你只需要添加 dependsOn: appengineRun
然后。
此外,task
中的所有这些命令都是在 gradle 读取您的脚本时执行的,而不是在执行 taks 时执行的。这是一个配置块。您需要在那里使用 doLast {}
来设置应该执行的代码。
试试这个:
appengine {
daemon = false
}
task appengineDaemon() {
doLast {
appengine {
daemon = true
}
}
}
appengineRun.mustRunAfter(appengineDaemon)
task nightwatch(dependsOn: [appengineRun, appengineDaemon]) {
doLast {
exec {
executable "bash"
args "-c","nightwatch src/functionalTest/nightwatch/nightwatch.js"
}
}
}