我想运行测试来模拟用户同时修改 Grails 应用程序的某些数据。
我可以使用任何插件/工具/机制来有效地做到这一点吗?它们不必是特定于 grails 的。应该可以并行触发多个操作。
我更愿意在功能级别上运行测试(到目前为止我正在使用 Selenium 进行其他测试)以从用户角度查看结果。当然,如果您还建议在集成级别运行并发修改测试,那么除了集成测试之外,还可以执行此操作。
我最近为此使用了 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 = "[email protected] /cdn-cgi/l/email-protection"
password = "secret"
_action_Login().click()
}
...
}
}
setDefaultTarget(main)
只需将您的脚本放入 script/YourScript.groovy 中,然后您就可以执行“Grails YourScript”来运行它。我通过全速运行其中几个来跟踪一些并发问题。您确实需要构建一个 war 并正确部署它,因为开发模式下的 Grails 非常慢并且很快就会耗尽永久代空间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)