2

私は最近gebに出くわしましたが、それはWebアプリケーションで統合テストを実行するための良い方法のようです。私たちのプラットフォームはすべてJavaベースであり、それを読んで

「Gebは、... JUnit、TestNG ...などの一般的なテストフレームワークとの統合により、機能的なWebテストのファーストクラスのサポートを提供します。」

Javaクラスからテストを実行するのは簡単だと思いました(testngテスト?)。

私はグルーヴィーとゲブに不慣れです。

これまでのところ、pomにgeb-testngとgroovyを含めました。

<dependency>
    <groupId>org.codehaus.geb</groupId>
    <artifactId>geb-testng</artifactId>
    <version>0.7.0</version>
</dependency>
<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy</artifactId>
    <version>1.8.6</version>
</dependency>

...しかし、テストを作成してJavaクラスから実行する例は見つかりません。

感謝します。

4

3 に答える 3

4

Geb は Groovy コード用に設計されており、Groovy コードからのみ使用できます。これは主に API の動的な性質によるものです。選択できるのは、使用するテスト フレームワーク (JUnit、TestNG、Spock など) です。Geb 自体は単なるライブラリであるため、テスト フレームワークなしで使用することもできます。たとえば、Web サイトとのやり取りを自動化する場合などです。

Java に固執する必要がある場合は、Selenium2 などを使用する必要があります。これは、Geb が裏で​​使用しているものです。

于 2012-06-20T17:48:48.713 に答える
0

Java を使用している場合、Geb の最良の代替手段は IMHO Selenide ( 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 などで使用できます。

于 2017-04-04T09:16:55.320 に答える