首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开始使用Geb

开始使用Geb
EN

Stack Overflow用户
提问于 2016-06-21 09:00:22
回答 1查看 1.8K关注 0票数 1

我对Geb和Groovy很陌生,但我对Selenium 2.0自动化框架有很好的经验。

由于某些要求,我需要搬到Geb去。框架应该有Gradle作为构建工具,Spock作为运行测试,Groovy作为脚本语言和Geb。

我去了Geb官方网站,看到了这段代码

代码语言:javascript
复制
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();中所做的那样

我的问题是:

  1. 项目的结构是什么?
  2. 如何在setup()中编写浏览器实例化和teardown(),即浏览器实例化和退出方法?
  3. 如何使用Spock运行测试?

编辑:这是我从https://github.com/geb/geb-example-gradle下载的一个示例项目的结构

在这里我们有setup()teardown()方法,它初始化驱动程序并退出浏览器?基本上是一个具有所有初始化和其他类扩展它的BaseClass

EN

回答 1

Stack Overflow用户

发布于 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(),为每个类/规范运行一次。

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37939889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档