我刚开始使用geb,我非常喜欢它!我的任务是为网站编写测试。
我的问题是 - 我可以使用gradle启动groovy shell(不是控制台)来试验我的脚本吗?
我为什么要这样做?目前我使用 groovy 控制台来编写我的脚本。我的gradle.build中有以下几行
task(console, dependsOn: 'classes', type: JavaExec) {
main = 'groovy.ui.Console'
classpath = sourceSets.main.runtimeClasspath
}
gradle console启动我的控制台,然后我输入类似的东西。
import geb.Browser
import org.openqa.selenium.firefox.FirefoxDriver
def browser = new Browser(driver: new FirefoxDriver())
Browser.drive {
go "http://mypage.com/"
//do some stuff to login
//do some stuff to reach specific page
//do some stuff to reach the state I want
doAssertion
}
然后我看到我在doAssertion函数中犯了一个错误,所以我更正它并重新启动我的脚本,但是我必须等待浏览器来,等待记录发生并等待其余的点击看到我我的脚本中还有一个拼写错误。
我想知道是否有一种方法可以连接到浏览器在异常之前结束并继续从那里修改我的脚本?
我试图找到解决这个问题的方法,但没有成功。
[编辑]:与朋友交谈后,我们找到了解决方案。
geb创建了一个 webDriver 实例,它会一直使用它,直到我们创建一个新实例为止。这意味着,如果我删除行,Browser.drive将从同一点继续:
new Browser(driver: new FirefoxDriver())