Multiple appium versions on the same machine

Hi ,
for my daily work I’ve been using appium 1.4.16 and java_client 3.3.0

I would like to start to look into the new appium version (currently 1.5.1 / 3.4.1)
to download the new jar and embed into my project it’s not an issue, but I was wonder how do I download 2 different appium versions and how do I start the specific version I want ?

Thanks

1 Like

Java client u can manage using maven or gradle. with appium versions, u can install multiple appium versions (appium version manager utility may help you to deal with this situations)

Thanks,
Priyank Shah

Thanks for the help ,
I’ve installed avm as you suggested , but from some reason I cannot execute my tests , the instruments fails.

Pls see attached logs :

sudo avm use 1.4.16 --port "4725" --native-instruments-lib --dont-stop-app-on-reset --session-override
Password:
info: Welcome to Appium v1.4.16 (REV ae6877eff263066b26328d457bd285c0cc62430d)
info: Appium REST http interface listener started on 0.0.0.0:4725
info: [debug] Non-default server args: {"port":4725,"sessionOverride":true,"nativeInstrumentsLib":true,"dontStopAppOnReset":true}
info: Console LogLevel: debug
info: --> POST /wd/hub/session {"desiredCapabilities":{"automationName":"Appium","waitForAppScript":"target.elements().length > 0; $.delay(6000); true;","app":"/Users/ie54553/Automation/AutomationProject/CVM_BUILD/IOS/CitiVelocity.app","launchTimeout":40000,"autoLaunch":true,"autoDismissAlerts":true,"sessionOverride":true,"noReset":true,"newCommandTimeout":180,"autoAcceptAlerts":false,"platformVersion":"9.1","fullReset":true,"deviceName":"iPhone 6s","platformName":"iOS"}}
info: Client User-Agent string: Apache-HttpClient/4.3.6 (java 1.5)
info: [debug] The following desired capabilities were provided, but not recognized by appium. They will be passed on to any other services running on this server. : sessionOverride
info: [debug] Using local app from desired caps: /Users/ie54553/Automation/AutomationProject/CVM_BUILD/IOS/CitiVelocity.app
info: [debug] Creating new appium session b344fc65-de0a-419c-a9c2-2a5cceaf9922
info: [debug] Removing any remaining instruments sockets
info: [debug] Cleaned up instruments socket /tmp/instruments_sock
info: [debug] Setting Xcode version
info: [debug] Xcode version set to 7.1.1
info: [debug] Setting iOS SDK Version
info: [debug] iOS SDK Version set to 9.1
info: [debug] Checking whether instruments supports our device string
info: [debug] Getting list of devices instruments supports
info: [debug] Instruments is at: /Applications/Xcode.app/Contents/Developer/usr/bin/instruments
info: [debug] Getting device string from opts: {"forceIphone":false,"forceIpad":false,"xcodeVersion":"7.1.1","iOSSDKVersion":"9.1","deviceName":"iPhone 6s","platformVersion":"9.1"}
info: [debug] fixDevice is on
info: [debug] Final device string is: 'iPhone 6s (9.1)'
error: Could not find a device to launch. You requested 'iPhone 6s (9.1)', but the available devices were: ["iPhone 5s (8.4) [D3954A1E-1E20-40D1-8FDF-6AB0218441B0]","iPhone 6 (8.4) [52D68389-A729-419D-B47B-E13F3C828C4C]"]
info: [debug] Cleaning up appium session
error: Failed to start an Appium session, err was: Error: Could not find a device to launch. You requested 'iPhone 6s (9.1)', but the available devices were: ["iPhone 5s (8.4) [D3954A1E-1E20-40D1-8FDF-6AB0218441B0]","iPhone 6 (8.4) [52D68389-A729-419D-B47B-E13F3C828C4C]"]
info: [debug] Error: Could not find a device to launch. You requested 'iPhone 6s (9.1)', but the available devices were: ["iPhone 5s (8.4) [D3954A1E-1E20-40D1-8FDF-6AB0218441B0]","iPhone 6 (8.4) [52D68389-A729-419D-B47B-E13F3C828C4C]"]
    at noDevicesError (/usr/local/avm/versions/1.4.16/node_modules/appium/lib/devices/ios/ios.js:1143:10)
    at [object Object].<anonymous> (/usr/local/avm/versions/1.4.16/node_modules/appium/lib/devices/ios/ios.js:1149:16)
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:522:46
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:251:17
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:148:21
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:248:21
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:612:34
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/async/lib/async.js:513:25
    at /usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/appium-instruments/lib/instruments.js:119:7
    at ChildProcess.exithandler (child_process.js:742:7)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Socket.<anonymous> (child_process.js:1183:11)
    at Socket.emit (events.js:107:17)
    at Pipe.close (net.js:485:12)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not find a device to launch. You requested 'iPhone 6s (9.1)', but the available devices were: [\"iPhone 5s (8.4) [D3954A1E-1E20-40D1-8FDF-6AB0218441B0]\",\"iPhone 6 (8.4) [52D68389-A729-419D-B47B-E13F3C828C4C]\"])","origValue":"Could not find a device to launch. You requested 'iPhone 6s (9.1)', but the available devices were: [\"iPhone 5s (8.4) [D3954A1E-1E20-40D1-8FDF-6AB0218441B0]\",\"iPhone 6 (8.4) [52D68389-A729-419D-B47B-E13F3C828C4C]\"]"},"sessionId":null}
info: <-- POST /wd/hub/session 500 789.232 ms - 558

If I remove the avm , and install only one server , everything works.

Any idea ?

More over , after I’ve installed latest appium versions (1.5.1 or 1.5.0) , I cannot execute them .
Getting : Error: 1.5.0/1 is not installed

But the versions are installed

Only 1.4.16 can be executed through avm

Nobody use multiple appium versions ?

Yes, I got the same error.
I cannot install Appium 1.5.0/1 by avm.

Is there anybody can help us fix the issue?

I just fixed the issue for avm install Appium 1.5.

Because some file path is changed in Appium 1.5, so avm cannot install it.
I make the change for avm file, then it can install all Appium versions.

  1. in ‘activate’ function, link “node_modules/appium/build/lib/main.js” to “bin/appium”.
  2. in ‘execute_with_version’ function, use “node_modules/appium/build/lib/main.js” to start Appium.

@derek1106 seems like the original repo owner has disabled the issue/no longer maintaining it. Would you be able to make the changes and republish it on npm?
If It’s ok with the licencing terms and with you.

Anybody still using this utility for versions 1.6.x on macOS 10.12???

seems that avm is not working / being supported anymore