0

私はこれらすべてのものを連携させようとしています。次の構成で jenkins ジョブを作成しました。

環境ビルド: android-19 emulatorandorid エミュレーター jenkins プラグインによって生成されます

ビルド手順: Appium は次のように開始します。

appium --full-reset --udid $ANDROID_AVD_DEVICE

cucumber タスクで Gradle スクリプトを呼び出します。

    sourceSets {

    test {
        java {
            srcDir 'src/java'
        }
        resources {
            srcDir 'src/resources'
        }
    }
}


task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['-f', 'pretty', '--glue', 'gradle.cucumber', 'src/resources']
        }
    }
}

私は 2 つのモジュールで android スタジオ プロジェクトを作成しました。

問題は、この手順を実行するジェンキンス ジョブを開始しようとすると、次のようになることです。

android studio プロジェクトをコンパイル --> エミュレーターを起動 --> Appium サーバーを起動 --> cucumber テストをコンパイル --> テストを実行

ビルドは毎回失敗し、これらはログです:

https://gist.github.com/redirect11/9273079

https://gist.github.com/redirect11/9273043

これらは200回目のジョブ試行です....そして、何が違いなのか覚えていません...しかし、エラーは同じです...

同じマシンで同じユーザーによって開始されたAppiumサーバーとジェンキン...正しい方法で私を指すのを助けることができますか?

4

1 に答える 1

0

見つめている:

[31mMessage: [0m[31morg.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

Appiumへの接続が失敗したときを見たことがあると思います。ジェンキンスが起動せずに appium を実行したままにして、問題が解決するかどうかを確認してください。非常に多くの動作部分があるため、問題を引き起こしている部分を特定しようとします。次号があればコメントをお願いします。

テストがトリガーされたときに appium を実行したい場合は、テスト自体の中で実行してみてください。次に、テストが終了したら接続を閉じます。appium の起動時間はわずかであるため、接続を試行する前にテストが数秒待機していることを確認してください。

于 2014-03-06T22:45:44.390 に答える