Appium session not deleted due to chromedriver's new sessionid while testing browser automation

Hi,

I want to run test for mobile browser automation. I’ve connected an Android 4.3 device and want to launch chrome on mobile device using Appium.
My Goal is to run this on a GRID where a device will be mapped to a unique sessionid in database therefore session has to be released\quit while exiting the testscript sothat device will be free for next test execution.

Problem: I found that chromedriver starts at port 9515 (does not use 4723 default port by appium) and creates a new session. And I find that first appium creates a session 84e17df7-895e-446c-b9e8-2e0c720bd979 and then chromedriver overrides the session with b586e49810904aea23dbeec91694de7f
At end, new sessionid (created by chromedriver) is deleted but the old sessionid (that was created by appium) is not deleted and does not have any reference, thus creates problem related to device release. Due to this problem, my device is not released though test is completed.

I am looking for some solution where

  1. either i can run use the same sessionid i.e avoid chromedriver override the original session
  2. run chromedriver on same port 4723 instead of 9515
  3. close all the sessions at the end

Any help in this regard will be useful.

Appium server log

info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformVersion”:“4.3”,"
orientation":“LANDSCAPE”,“app”:“chrome”,“deviceName”:“4d00b81de1133037”,“platfor
mName”:“Android”,“browserName”:“chrome”,“deviceCategory”:“phone”,“version”:“4.3”
}}
debug: Appium request initiated at /wd/hub/session
debug: Request received with params: {“desiredCapabilities”:{“platformVersion”:"
4.3",“orientation”:“LANDSCAPE”,“app”:“chrome”,“deviceName”:“4d00b81de1133037”,“p
latformName”:“Android”,“browserName”:“chrome”,“deviceCategory”:“phone”,“version”
:“4.3”}}
debug: The following desired capabilities were provided, but not recognized by a
ppium. They will be passed on to any other services running on this server. : de
viceCategory, version
debug: Looks like we want chrome on android
debug: Creating new appium session 84e17df7-895e-446c-b9e8-2e0c720bd979
debug: Preparing device for session
debug: Not checking whether app is present since we are assuming it’s already on
the device
debug: Checking whether adb is present
debug: Using adb from E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702
\sdk\platform-tools\adb.exe
info: Retrieving device
debug: Trying to find a connected android device
debug: Getting connected devices…
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” devices
debug: 1 device(s) connected
info: Found device 4d00b81de1133037
debug: Setting device id to 4d00b81de1133037
debug: Waiting for device to be ready and to respond to shell commands (timeout
= 5)
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” -s 4d00b81de1133037 wait-for-device
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” -s 4d00b81de1133037 shell “echo ‘ready’”
debug: Starting logcat capture
debug: Pushing unlock helper app to device…
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” -s 4d00b81de1133037 install “E:\Dev-setup\AppiumForWin
dows-1.2.0.1\Appium\node_modules\appium\build\unlock_apk\unlock_apk-debug.apk”
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” -s 4d00b81de1133037 shell “dumpsys window”
debug: Writing dumpsys output to E:\Dev-setup\AppiumForWindows-1.2.0.1\Appium\no
de_modules\appium.dumpsys.log
debug: Screen already unlocked, continuing.
debug: Creating Chrome session
debug: Ensuring Chromedriver exists
debug: Killing any old chromedrivers, running: FOR /F “usebackq tokens=5” %a in
(netstat -nao ^| findstr /R /C:“9515 “) do (FOR /F “usebackq” %b in (TASKLIST
/FI “PID eq %a” ^| findstr /I chromedriver.exe) do (IF NOT %b==”” TASKKILL /F
/PID %b))
debug: No old chromedrivers seemed to exist
debug: Spawning chromedriver with: E:\Dev-setup\AppiumForWindows-1.2.0.1\Appium
node_modules\appium\build\chromedriver\windows\chromedriver.exe
debug: [CHROMEDRIVER] Starting ChromeDriver (v2.9.248315) on port 9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on”,“method”:“POST”,“json”:{“sessionId”:null,“desiredCapabilities”:{“chromeOptio
ns”:{“androidPackage”:“com.android.chrome”,“androidDeviceSerial”:“4d00b81de11330
37”}}}}
debug: Successfully started chrome session
debug: Overriding session id with “b586e49810904aea23dbeec91694de7f”
debug: Device launched! Ready for commands
debug: Setting command timeout to the default of 60 secs
debug: Appium session started with sessionId b586e49810904aea23dbeec91694de7f
info: <-- POST /wd/hub/session 303 9315.080 ms - 9
info: --> GET /wd/hub/session/b586e49810904aea23dbeec91694de7f {}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f
debug: Request received with params: {}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f”,“method”:“GET”}
debug: Proxied response received with status 200: “{“sessionId”:“b586e4981090
4aea23dbeec91694de7f”,“status”:0,“value”:{“acceptSslCerts”:true,“applica
tionCacheEnabled”:false,“browserConnectionEnabled”:false,“browserName”:“ch
rome”,“chrome”:{},“cssSelectorsEnabled”:true,“databaseEnabled”:false,“ha
ndlesAlerts”:true,“javascriptEnabled”:true,“locationContextEnabled”:true,”
nativeEvents":true,“platform”:“ANDROID”,“rotatable”:false,“takesHeapSnap
shot”:true,“takesScreenshot”:true,“version”:“37.0.2062.117”,“webStorageE
nabled”:true}}"
info: <-- GET /wd/hub/session/b586e49810904aea23dbeec91694de7f 200 13.145 ms - 4
76
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/url {“url”:“http
s://myturbotax.intuit.com/”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/url
debug: Request received with params: {“url”:“https://myturbotax.intuit.com/”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/url”,“method”:“POST”,“json”:{“url”:“https://
myturbotax.intuit.com/”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:null}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/url 200 5550.895
ms - 72
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/execute {“args”:
[],“script”:“return navigator.userAgent”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/execute
debug: Request received with params: {“args”:[],“script”:“return navigator.userA
gent”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/execute”,“method”:“POST”,“json”:{“args”:[],"
script":“return navigator.userAgent”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:“Mozilla/5.0 (Linux; Android 4.3; GT-I9500
Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile
Safari/537.36”}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/execute 200 1662
.834 ms - 206
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/timeouts/implici
t_wait {“ms”:10000}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/timeouts/implicit_wait
debug: Request received with params: {“ms”:10000}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/timeouts/implicit_wait”,“method”:“POST”,“jso
n”:{“ms”:10000}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:null}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/timeouts/implici
t_wait 200 11.910 ms - 72
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element {“using”
:“id”,“value”:“ius-userid”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element
debug: Request received with params: {“using”:“id”,“value”:“ius-userid”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element”,“method”:“POST”,“json”:{“using”:"id
",“value”:“ius-userid”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:{“ELEMENT”:“0.04667960782535374-1”}}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element 200 1860
.358 ms - 103
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-1/value {“id”:“0.04667960782535374-1”,“value”:[“parveen_gupta@intuit
.com”]}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element/0.04667960782535374-1/value
debug: Request received with params: {“id”:“0.04667960782535374-1”,“value”:[“par
[email protected]”]}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element/0.04667960782535374-1/value”,"method
":“POST”,“json”:{“id”:“0.04667960782535374-1”,“value”:["[email protected]
"]}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:null}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-1/value 200 1741.133 ms - 72
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element {“using”
:“id”,“value”:“ius-password”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element
debug: Request received with params: {“using”:“id”,“value”:“ius-password”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element”,“method”:“POST”,“json”:{“using”:"id
",“value”:“ius-password”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:{“ELEMENT”:“0.04667960782535374-2”}}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element 200 130.
357 ms - 103
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-2/value {“id”:“0.04667960782535374-2”,“value”:[“helloworld”]}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element/0.04667960782535374-2/value
debug: Request received with params: {“id”:“0.04667960782535374-2”,“value”:[“hel
loworld”]}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element/0.04667960782535374-2/value”,"method
":“POST”,“json”:{“id”:“0.04667960782535374-2”,“value”:[“helloworld”]}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:null}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-2/value 200 1430.295 ms - 72
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element {“using”
:“id”,“value”:“ius-sign-in-submit-btn”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element
debug: Request received with params: {“using”:“id”,“value”:“ius-sign-in-submit-b
tn”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element”,“method”:“POST”,“json”:{“using”:"id
",“value”:“ius-sign-in-submit-btn”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:{“ELEMENT”:“0.04667960782535374-3”}}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element 200 139.
596 ms - 103
info: --> POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-3/click {“id”:“0.04667960782535374-3”}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f/element/0.04667960782535374-3/click
debug: Request received with params: {“id”:“0.04667960782535374-3”}
debug: Proxying command to 127.0.0.1:9515
debug: Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/sessi
on/b586e49810904aea23dbeec91694de7f/element/0.04667960782535374-3/click”,“method
“:“POST”,“json”:{“id”:“0.04667960782535374-3”}}
debug: Proxied response received with status 200: {“sessionId”:“b586e49810904aea
23dbeec91694de7f”,“status”:0,“value”:null}
info: <-- POST /wd/hub/session/b586e49810904aea23dbeec91694de7f/element/0.046679
60782535374-3/click 200 2811.178 ms - 72
info: --> DELETE /wd/hub/session/b586e49810904aea23dbeec91694de7f {}
debug: Appium request initiated at /wd/hub/session/b586e49810904aea23dbeec91694d
e7f
debug: Request received with params: {}
info: Shutting down appium session
debug: Killing chromedriver
debug: Chromedriver exited with code null
debug: (killed by signal SIGTERM)
debug: executing: “E:\Dev-setup\AndroidSDK\adt-bundle-windows-x86_64-20140702\sd
k\platform-tools\adb.exe” -s 4d00b81de1133037 shell “am force-stop com.android.c
hrome”
debug: Cleaning up appium session
debug: Responding to client with success: {“status”:0,“value”:null,“sessionId”:”
b586e49810904aea23dbeec91694de7f”}
info: <-- DELETE /wd/hub/session/b586e49810904aea23dbeec91694de7f 200 905.317 ms

  • 72 {“status”:0,“value”:null,“sessionId”:“b586e49810904aea23dbeec91694de7f”}