从java类运行geb测试

我最近偶然发现了geb ,它看起来像是在我们的Web应用程序上执行集成测试的好方法。 我们的平台都是基于java的,从阅读它

“通过与流行的测试框架集成,例如…… JUnit,TestNG ……,Geb为function性Web测试提供了一流的支持。”

我假设从java类执行测试很容易(testng测试?)。

我是groovy和geb的新手。

到目前为止,我已经在我的pom中包含了geb-testng和groovy:

 org.codehaus.geb geb-testng 0.7.0   org.codehaus.groovy groovy 1.8.6  

…但是我找不到任何创建测试并从java类运行它的示例。

帮助赞赏。

Geb是为Groovy代码设计的,并且只能从中使用。 这主要是由于其API的动态特性。 你可以选择使用哪个测试框架(JUnit,TestNG,Spock等)。 由于Geb本身只是一个库,它也可以在没有测试框架的情况下使用,例如自动化与网站的交互。

如果你需要坚持Java,你将不得不使用像Selenium2这样的东西,这是Geb在封面下使用的东西。

我在搜索Geb-TestNG示例时遇到了这个问题。 这是为我工作的:

 import geb.testng.GebTest import org.testng.annotations.Test class GroovyYourTestClass extends GebTest { @Test void "should test something"() { to YourPageObject // ... } } 

如果你使用Java,那么Geb的最佳替代品是恕我直言( http://selenide.org

快速入门指南中的示例:

 @Test public void userCanLoginByUsername() { open("/login"); $(By.name("user.name")).setValue("johny"); $("#submit").click(); $(".loading_progress").should(disappear); // Waits until element disappears $("#username").shouldHave(text("Hello, Johny!")); // Waits until element gets text } 

它独立于您的测试框架,因此可以与例如JUnit,TestNG,Cucumber,ScalaTest,JBehave一起使用