Chrome Driver not working on android real devices using Appium - appium

I have installed the chrome driver - version 37.0 and source -com.android.chrome-1.apk
Started the adb command and device is connecting properly. Enable the debug mode and checked usb device option
Capabilties -
below is code snippet which i have used to call the chrome browser
capabilities.setCapability("appium-version", "1.0");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "4.3");
capabilities.setCapability("deviceName", "abc");
capabilities.setCapability("browserNamex", "Chrome");
driver = new RemoteWebDriver(new URL("http://0.0.0.0:4723/wd/hub"),capabilities);
Getting below error -
error: Chromedriver create session did not work. Status was 200 and body was {"sessionId":"e70c1dff331b9b35ce5e4b974ae3d47e","status":13,"value":{"message":"unknown error: com.android.browser is not installed on device 43001beab8cb1161\n (Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.2 x86_64)"}}
debug: Cleaning up appium session
error: Failed to start an Appium session, err was: Error: Did not get session redirect from Chromedriver
info: <-- POST /wd/hub/session 500

i am using appium on windows for android. try using appium 1.1.0.0 just launch server through appium. set these capabilities in Eclipse
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"Chrome");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION,"4.3");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"GT-I9300");
driver = new RemoteWebDriver(new URL(:1:4723/wd/hub"), capabilities);
its working for me .
thanks
Rohit Vyas

I had the same issue and found that I was running version of chrome browser which is less than 33 and this requires devices to be rooted. I update chrome browser to 40+ (I guess it was 48) and issue disappeared.
Device rooting requirement for version of chrome lower than 33 is available here -
http://appium.io/slate/en/master/?ruby#mobile-chrome-on-emulator-or-real-device

Maybe it will help someone looking for solution to this error:
error: Chromedriver create session did not work. Status was 200 and
body was
{"sessionId":"e70c1dff331b9b35ce5e4b974ae3d47e","status":13,"value":{"message":"unknown
error: com.android.browser is not installed on device
43001beab8cb1161\n (Driver info: chromedriver=2.10.267517,platform=Mac
OS X 10.9.2 x86_64)"}} debug: Cleaning up appium session error: Failed
to start an Appium session, err was: Error: Did not get session
redirect from Chromedriver
After long struggle with that, what helped me was overwriting the original chromedriver (the one that gets automatically downloaded when you run ./reset.sh --android ) in [my appium installation location]/build/chromedriver/linux with a file manually downloaded from this site.
Make sure you delete old chromedriver and name the new one the same as the deleted one.
I am using chromedriver 2.12

Based on this "unknown error: com.android.browser is not installed on device", it appears to be looking for the default browser instead of Chrome.
I notice there is a capability misspelled. It should be "browserName" instead of "browserNamex" like you have. That may be why it's not looking for the correct app package.

Replace chromedriver 2.18.343845 to 2.20.353145, you problem will sove in C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win path

Related

Unable to run Chrome browser on Android by using Appium and RobotFramework

Unable to run the Chrome browser on Android by using Appium and RobotFramework
What I have tried so far:
*** Settings ***
Library AppiumLibrary
*** Test Cases ***
Loign_To_Weekend
App_Up_And_Run
*** Keywords ***
App_Up_And_Run
Open Application http://localhost:4723/wd/hub platformName=Android deviceName=RNNNNNNNK browserName=Chrome
Go To Url https://www.amazon.com/
but after installing appium settings app, not opening the chrome browser and it's showing error like below, both suggested links are invalid
WebDriverException: Message: An unknown server-side error occurred
while processing the command. Original error: No Chromedriver found
that can automate Chrome '10
2.0.5005'. You could also try to enable automated chromedrivers download server feature. See
https://github.com/appium/appium/blob/master/docs/en/writing-running-a
ppium/web/chromedriver.md for more details Stacktrace: UnknownError:
An unknown server-side error occurred while processing the command.
Original error: No Chromedriver found that can automate Chrome
'102.0.5005'. You could also try to enable automated chromedrivers
download server feature. See
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chrom
edriver.md for more details
at getResponseForW3CError (C:\Users\abc\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:804:9)
at asyncHandler (C:\Users\acb\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:380:37)
I'm not sure where I made the mistake, thanks for any kind of help
You must have chromedriver.exe in your Windows machine, for the correct version of Chrome in the Android phone.
You download the version for Chromedriver found that can automate Chrome '102.0.5005'.
You pass the path for chromedriver.exe to the Appium server, in the starting command or in capabilities.
On Appium Desktop, Advanced Tab, you find the Chromedriver Binary Path field.

“adb devices” detect my device but not Appium server, why?

Environment:
Windows 10
Python 3.7.9
Appium 1.22.3
Node v12.15.0
Android Debug Bridge version 1.0.41
Version 33.0.2-8557947
Sdkmanager 4.0.1
Appium-Python-Client==2.4.0
Problem:
Appium doesn't detect my device:
UnknownError: An unknown server-side error occurred while processing the command. Original error: Device E531XE1ZM11302266 was not in the list of connected devices
at getResponseForW3CError (C:\Users\gauth\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:804:9)
at asyncHandler (C:\Users\gauth\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:380:37)
So I run the command "adb devices" which shows correctly my device.
Is there any process to fix this kind of issue please? How could I fix that?

How to fix Failure “INSTALL PARSE FAILED NO CERTIFICATES” for Appium & Python?

I am making an automation script to automate a Real SMartphone Android 8.1:
Environment
Python 3.7
Windows 10 64Bits
Build-tools 29.0.3
java version "1.8.0_241"
Appium 1.17.1
Node v12.15.0
sdkmanager 4.0.1
ADB (Android Debug Bridge) version 1.0.41
Version 30.0.3-6597393
When I run my script, I get these error message:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
--> We can't open Instagram. Please check if device is connected. Let's try again!
Message: An unknown server-side error occurred while processing the command. Original error: Performing Push Install
C:\Users\Nino\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk: 1 file pushed, 0 skipped. 87.8 MB/s (470052 bytes in 0.005s)
Appium log file:
https://github.com/gauthierbuttez/public/blob/master/appium_issue04082020.log
What I've tried:
I added this desired capability:
desired_caps['remoteAppsCacheLimit'] = 0
It didn't help.
I reset factory my Android device but it didn't help.
Does anyone already faced this issue?
Try to add noSign: true to capabilities. It might help.
I also suggest manually removing Appium Settings and Instagram apps before starting a new session.

Failed to execute adb.exe when trying to run Xamarin.UITest

I'm trying to setup a Xamarin UITest without any luck.
When I try to run 'all tests', I get the following error:
execute: C:\Users\Brandon\AppData\Local\Android\android-sdk\platform-tools\adb.exe devices - exit code: 1
error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
List of devices attached
adb server version (39) doesn't match this client (36); killing...
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
ADB seems to be started just fine and the weird thing is that it seems to be using an adb version from another user, even though..
1) Tools > Options > Xamarin > Android is set to different path than the above-mentioned, for the Android SDK.
2) There is no system environment path variable that I can find for the above-referenced adb.exe path!
Am I missing something?
In my case it was Android Emulator version mismatch. Somehow Emulator got updated to the newer version:
After uninstalling Emulator, switching Feed to Microsoft instead of google and re-installing Emulator - error was gone and everything worked just fine.

Trying to run Appium test in android 7.0, but just Appium settings and Unlocker app get installed and test does not run

Following is the link to my code and error sin appium console
and eclipse console:
Link to the code and error in eclipse console and appium console
If you check the Appium logs, it has this line in there -
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. : version
This means that version is not the correct property name. You have to change it to platformVersion. Try changing it and see it it works. The line of code would be like this -
capabilities.setCapability("platformVersion", "7.0");
Also, there is no need to provide the browser name, as you are not using it anywhere. But that shouldn't affect the test script execution in any way.
You can also check this article which shows the capabilities you can use to launch an app - Appium Script to Launch App

Resources