当前位置: 首页 > 工具软件 > Java Gems > 使用案例 >

geb java_Geb Gems:使用Maven运行Geb Spock测试

汪明德
2023-12-01

geb java

Geb是一个框架,可轻松为您的应用程序创建功能测试。 由于您可以使用Groovy,Spock和JQuery选择器的优雅功能,因此可以轻松设置可靠的功能测试。

在此博文中,我们将进行一个简单的测试,该测试将测试JDriven网站的功能部分。 我们将通过配置Maven POM文件开始测试。 我们需要添加以下依赖项。

<dependencies><dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.spockframework</groupId>
            <artifactId>spock-core</artifactId>
            <version>1.0-groovy-2.4</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.gebish</groupId>
            <artifactId>geb-spock</artifactId>
            <version>0.10.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>2.45.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

我们还需要配置GMaven插件,它将为我们编译Groovy文件,并且:

<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <includes>
            <include>*Spec.*</include>
        </includes>
        <systemPropertyVariables>
            <geb.build.reportsDir>target/test-reports/geb</geb.build.reportsDir>
        </systemPropertyVariables>
    </configuration>
</plugin>
<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <providerSelection>1.8</providerSelection>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.gmaven.runtime</groupId>
            <artifactId>gmaven-runtime-1.8</artifactId>
            <version>1.4</version>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>1.8.6</version>
        </dependency>
        <dependency>
            <groupId>org.spockframework</groupId>
            <artifactId>spock-core</artifactId>
            <version>0.7-groovy-1.8</version>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</plugin>
</plugins>

使用Geb时,要求GebConfig.groovy文件位于您的类路径中。 最佳位置是将其放置在可识别的位置,例如test/functional 。 在此文件中,您配置WebDriver(例如Firefox,Chrome等)和该驱动程序的配置文件设置,例如下载文件夹,代理设置等。

import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.firefox.FirefoxProfile

driver = {
    FirefoxProfile profile = new FirefoxProfile()
    new FirefoxDriver(profile)
}

我们的测试班将做一个简单的检查,以验证在指向主页的JDriven网站上是否存在带有文本“ JDriven”的有效链接。

class JDrivenBlogSpec extends GebReportingSpec {

  def "Check if there main link refers to homepage"() {
      go "http://www.jdriven.nl"
      $('a', text: contains('JDriven')).click()

      expect:
      driver.currentUrl == "http://www.jdriven.nl/home"
  }
}

我们从GebReportingSpec扩展了测试类。 您也可以从GebSpec扩展,但是如果测试失败, GebReportingSpec会自动创建屏幕截图,这更加方便

请注意,如果要运行测试,则需要安装Firefox。 当您从命令行执行以下Maven命令时,将运行测试。

mvn test

用Groovy 2.4.3编写。

翻译自: https://www.javacodegeeks.com/2015/04/geb-gems-running-geb-spock-tests-with-maven.html

geb java

 类似资料: