最近、これにGeb(http://grails.org/plugin/geb/)を使用しました。これは、WebDriverやSeleniumなどの上にあるレイヤーです。アプリでユーザーとして機能するGrailsスクリプトを記述して、さまざまなコンソールで複数のインスタンスを実行するのは非常に簡単です。Gebは、jQueryスタイルの構文を使用してDOM内のものを検索します。これは、非常に優れています。
import geb.Browser
import geb.Configuration
includeTargets << grailsScript("_GrailsInit")
target(main: "Do stuff as fast as possible") {
Configuration cfg = new Configuration(baseUrl: "http://localhost:8080/your_app/")
Browser.drive(cfg) {
go "user/login"
$("#login form").with {
email = "someone@somewhere.com"
password = "secret"
_action_Login().click()
}
...
}
}
setDefaultTarget(main)
スクリプトをscripts/YourScript.groovyに配置するだけで、「GrailsYourScript」を実行して実行できます。これらのいくつかをフルスピードで実行するだけで、いくつかの同時実行の問題を追跡しました。開発モードのGrailsは非常に遅く、permgenスペースがすぐに不足するため、戦争を構築して適切にデプロイする必要があります。