viagra priser viagra des indes acheter cialis paypal baclofen bestellen acheter cialis paris commander viagra en urgencias viagras genericos effexor xr discount program cephalexin pills expire dapoxetine (generic priligy) dutasteride or finasteride and powerpoint slides
cost of office 2007 product key 
purchase microsoft office professional 2010 product key 
final cut express 
ventolin nebules for sale uk prednisone 10 mg tablets canadian online pharmacy propecia
who makes cialis in australia 
viagra prescriptions australia 
best natural viagra in australia 
kamagra oral jelly france parafarmacia cialis cialis sverige
buy fluconazole online canada zithromax 1000 mg uses zithromax order online
19 Jun

Starting Appium Via launchd

In a recent project I needed to find a way of getting the Appium node.js app to run all the time on an iOS CI server. The requirements were as follows:

  1. Appium must be run from the checked out Git repository
  2. Launch Appium on start-up, in case the server needs to be rebooted
  3. If Appium crashes (it does sometimes), relaunch the server
  4. Output stdout and stderror to a log file that I can easily view using Console.app to debug problems with Appium

This was achieved with the following launchd plist configuration file placed in ~/Library/LaunchAgents/.

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>KeepAlive</key>
        <dict>
            <key>SuccessfulExit</key>
            <false/>
        </dict>
        <key>Label</key>
        <string>com.companyname.appium</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/local/bin/node</string>
            <string>/Users/Mike/Projects/appium/server.js</string>
        </array>
    	<key>Debug</key>
		<true/>
        <key>RunAtLoad</key>
        <true/>
        <key>WorkingDirectory</key>
        <string>/Users/Mike/Projects/appium/</string>
		<key>StandardOutPath</key>
		<string>/Users/Mike/Library/Logs/appium.log</string>
		<key>StandardErrorPath</key>
		<string>/Users/Mike/Library/Logs/appium_error.log</string>
    </dict>
</plist>

 

The WorkingDirectory setting is required, as Appium uses it to locate the instruments/client.js file.

Start the agent by running:


launchctl load ~/Library/LaunchAgents/<configuration name>.plist

Or stop it by running:


launchctl unload ~/Library/LaunchAgents/<configuration name>.plist

Hope this helps!