我对Geb和Groovy很陌生,但我对Selenium 2.0自动化框架有很好的经验。
由于某些要求,我需要搬到Geb去。框架应该有Gradle作为构建工具,Spock作为运行测试,Groovy作为脚本语言和Geb。
我去了Geb官方网站,看到了这段代码
import geb.Browser
Browser.drive {
go "http://myapp.com/login"
assert $("h1").text() == "Please Login"
$("form.login").with {
username = "admin"
password = "password"
login().click()
}
assert $("h1").text() == "Admin Section"
}但是运行它并不能打开浏览器。定义浏览器实例化的地方,就像我们在Java:driver = new FirefoxDriver();中所做的那样
我的问题是:
setup()中编写浏览器实例化和teardown(),即浏览器实例化和退出方法?编辑:这是我从https://github.com/geb/geb-example-gradle下载的一个示例项目的结构
在这里我们有setup()和teardown()方法,它初始化驱动程序并退出浏览器?基本上是一个具有所有初始化和其他类扩展它的BaseClass?

发布于 2016-06-21 16:27:08
当我学习Geb时,我发现这个示例代码非常有用。它由Geb发布,并与Gradle集成,还使用Chrome和Firefox网络驱动程序,以及用于无头操作的PhantomJS:
https://github.com/geb/geb-example-gradle
我将以稍微不同的顺序回答你的问题,希望能有所帮助。
问题1.项目结构是相当开放的,因为它是用Gradle构建的,它允许许多选项。在链接中的示例中,有一个src/test结构,您可以在这里使用正常的包结构。
问题3 :您不必做任何事情来使用Spock运行Geb,而是使用一些Spock机制编写测试,例如setup:、when:等块。实际上,您将使用gradle命令运行测试,如上面的示例所示。
问题2.由于这些测试与Spock风格的测试一起使用,所以您可以使用典型的设置和删除方法,它们是:setup()和cleanup(),每个测试运行一次;setupSpec()和cleanupSpec(),为每个类/规范运行一次。
希望这能有所帮助。
https://stackoverflow.com/questions/37939889
复制相似问题