2017-01-21 10 views
1

私はJenkinsで自動テストのためにAppiumサーバーを起動し、コマンドラインからEmulatorを起動したいと考えています。のシェルコマンドでAppium起動スクリプトを使用してAppiumを起動すると、Appiumサーバーが正しく起動して実行されます。JenkinsでAppium ServerとAndroidエミュレータをシェルスクリプトを使用して並列実行する方法は?

しかし、問題は同じシェルスクリプトを使用してAndroidエミュレータを起動する必要があることです。 Appiumサーバーはバックグラウンドで実行されるため、エミュレータを起動する次のシェルコマンドは影響を受けず、ジェンキンのビルドは失敗します。だから、私はシェルスクリプトを使ってAppiumサーバーとAndroidエミュレータを並行して実行する必要があります(Jenkins build step)。

両方のスクリプトを同時に実行するソリューションを提供してください。

+0

私の貧しい人々のために申し訳ありませんが、あなたの編集のための@RejeeshChandran – Antro

+1

それはまったく問題ありません。間違いを犯すことによっても学びます – RejeeshChandran

答えて

1

私はステップを構築ジェンキンスでシェルスクリプトを並列実行するためにAppiumサーバとAndroidエミュレータを作りました。

シェルスクリプトで次のコマンドを実行し、自動化テストを正常に実行します。

#!/bin/sh 
echo Start Emulator and Appium: 
emulator -avd Test -noaudio -no-boot-anim -no-snapshot-load -no-snapshot-save -no-window & 
appium & 
sleep 2m 

sleepコマンドは、スリープするか、エミュレータの初期化を待つコマンドを実行し、appiumサーバーはデバイスを並列に検出します。

1

たぶん、例えばのように、parallelを使用します。

node{ 
    stage('Tests') { 
     parallel(appium: { 
      //first script 
     }, emulator: { 
      //second script 
     }) 
    } 
} 
+0

@Antroは意味がありますか? – Lino

+0

申し訳ありませんが、私はこれを実行する方法を理解することはできませんが、私は自分自身の問題の解決策を見つけた。ご回答有難うございます。 – Antro

関連する問題