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