2

ここで誰かがgradle 1.0-milestone-9でreportingを正常に構成しましたか?

Gradle で開発された Selenium 2、TestNG サンプルをダウンロードしました ( https://github.com/iainrose/page-objectsから)。それはうまく機能し (システム プロパティを build.gradle に追加してブラウザーを切り替えた後)、ReportNG をミックスに追加したいと思います。私は次のことを試しました:

dependencies {
compile "org.seleniumhq.selenium:selenium-java:2.15.0"
compile "org.testng:testng:6.3.1"
compile "org.uncommons:reportng:1.1.2"
}

次のエラーが発生します。

Could not resolve all dependencies for configuration ':compile'.
> Artifact 'org.testng:testng:6.3.1:jdk15@jar' not found.

http://issues.gradle.org/browse/GRADLE-2042で同様の問題を見つけてコメントを追加しましたが、まだフォローアップはありません。そこにある唯一の提案は、依存関係からreportngを削除することです...ここの誰かがreportngをgradleで動作させる方法を知っていることを願っています。

以下のSzpakによって提案されたコードを追加した後:

Szpak の提案に従って build.gradle にコードを追加した後、最終的にテストを実行できました - まだ reportng リスナーはありませんが、依存関係は整っています。ただし、リスナーをプラグインすると、次のようになります。

    useTestNG() {
    options {
        listeners << 'org.uncommons.reportng.HTMLReporter'
        listeners << 'org.uncommons.reportng.JUnitXMLReporter'
    }

java.lang.StackOverflowError を取得しました:

A problem occurred evaluating root project 'console-bg1'.
> java.lang.StackOverflowError (no error message)

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'console-bg1'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)

(...)

Caused by: java.lang.StackOverflowError
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:804)
at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1096)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:128)
at org.gradle.api.tasks.testing.testng.TestNGOptions.methodMissing(TestNGOptions.groovy:204)

オンラインで調査したところ、依存関係に問題があるようです。私はまだgradleでreportngを使用できません...

4

2 に答える 2

0

Szpakの貢献を含め、機能したコードは次のとおりです。

dependencies {
compile "org.seleniumhq.selenium:selenium-java:2.21.0"
compile "org.testng:testng:6.3.1"
compile group: 'com.google.inject', name: 'guice', version: '3.0'
compile("org.uncommons:reportng:1.1.2") {
    exclude group: "org.testng", module: "testng"
    }
}
于 2012-05-09T20:26:42.950 に答える