bugfix> appium > 投稿

コード内でappiumを起動する方法はありますか?私はiOSアプリケーションを自動化しようとしています。appiumはテストの実行中にのみ実行する必要があるため、appiumサーバーを常に稼働させ続けることは意味がありません。

現在、Appium GUIを使用してサーバーを起動しています。WebDriverに接続する前にAppiumサーバーを起動し、Afterメソッドで終了する前に、Beforeメソッドに何かを追加できます。

Rubyを使用してMacでそれを行うのを手伝ってください。

Appiumサーバーバージョン:1.8.0 Mac OS:10.13 ノード:6.11 ルビー:2.5.1

前もって感謝します、

回答 2 件
  • Rubyで記述されたBDDフレームワークのソリューションを次に示します。これら2つのフックをhooks.rbファイルに貼り付けます

    サーバーの起動:

    AfterConfiguration do |config|
    pid = spawn ‘appium --address 0.0.0.0 --port 4723’
    Process.detach(pid)
    sleep(10)
    end
    
    

    Cucumberが構成された後に実行されるAfterConfigurationフック。このフックは、サポートが読み込まれた後、機能が読み込まれる前に1回だけ実行されます。そのため、Appiumサーバーを起動すると便利です。

    サーバーの停止:

    at_exit do
    exec ‘/usr/bin/killall -KILL node’
    end
    
    

    at_exitは、すべての機能ファイルの実行後に実行されます。だから exec '/usr/bin/killall -KILL node' を実行する  このフック内のコマンドは、最後にサーバーを殺します

  • Rubyプログラムの内部からシェルコマンドを呼び出します。

    `/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js --address 127.0.0.1 --chromedriver-port 9516 --bootstrap-port 4725 --selendroid-port 8082 --no-reset --local-timezone`
    
    

    それに応じてパスを変更するか、appiumアプリをApplicationsフォルダーにコピーします

あなたの答え