Hello, Please help.
This is the code I written:-
package Testcases;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
public class TestWebBrowser {
static AndroidDriver driver;
public static void main(String[] args) throws MalformedURLException, InterruptedException {
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
capabilities.setCapability("device", "Android");
capabilities.setCapability("deviceName", "Redmi Note 11T 5G");
capabilities.setCapability("platformVersion","11");
capabilities.setCapability("platformName", "Android");
driver=new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
driver.get("http://www.goolge.com");
Thread.sleep(10000);
driver.quit();
}
}
This is console logs:-
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: ‘Command ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell ‘settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy’’ exited with code 255’; Command output:
Exception occurred while executing ‘delete’:
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
at android.content.ContentProvider.call(ContentProvider.java:2471)
at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
at android.os.Binder.shellCommand(Binder.java:929)
at android.os.Binder.onTransact(Binder.java:813)
at android.os.Binder.execTransactInternal(Binder.java:1159)
at android.os.Binder.execTransact(Binder.java:1123)
Exception occurred while executing ‘delete’:
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
at android.content.ContentProvider.call(ContentProvider.java:2471)
at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
at android.os.Binder.shellCommand(Binder.java:929)
at android.os.Binder.onTransact(Binder.java:813)
at android.os.Binder.execTransactInternal(Binder.java:1159)
at android.os.Binder.execTransact(Binder.java:1123)
Exception occurred while executing ‘delete’:
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
at android.content.ContentProvider.call(ContentProvider.java:2471)
at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
at android.os.Binder.shellCommand(Binder.java:929)
at android.os.Binder.onTransact(Binder.java:813)
at android.os.Binder.execTransactInternal(Binder.java:1159)
at android.os.Binder.execTransact(Binder.java:1123)
Build info: version: ‘4.1.4’, revision: ‘535d840ee2’
System info: host: ‘1VXKX33’, ip: ‘192.168.18.13’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘17.0.2’
Driver info: io.appium.java_client.android.AndroidDriver
Command: [null, newSession {capabilities=[{browserName=Chrome, appium:device=Android, appium:deviceName=Redmi Note 11T 5G, platformName=Android, appium:platformVersion=11}], desiredCapabilities=Capabilities {browserName: Chrome, device: Android, deviceName: Redmi Note 11T 5G, platformName: Android, platformVersion: 11}}]
Capabilities {}
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at io.appium.java_client.remote.AppiumProtocolHandshake.createSession(AppiumProtocolHandshake.java:126)
at io.appium.java_client.remote.AppiumProtocolHandshake.createSession(AppiumProtocolHandshake.java:102)
at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:146)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:180)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:567)
at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:225)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:164)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:79)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:87)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:116)
at Testcases.TestWebBrowser.main(TestWebBrowser.java:27)
This is appium server logs:-
The server is running
[Appium] Welcome to Appium v1.22.3
[Appium] Non-default server args:
[Appium] relaxedSecurityEnabled: true
[Appium] allowInsecure: {
[Appium] }
[Appium] denyInsecure: {
[Appium] }
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] Request idempotency key: b32ac6ed-f912-4e28-a4e6-d6e40f6685c2
[HTTP] --> POST /wd/hub/session
[HTTP] {“capabilities”:{“firstMatch”:[{}],“alwaysMatch”:{“appium:device”:“Android”,“appium:deviceName”:“Redmi Note 11T 5G”,“appium:platformVersion”:“11”,“browserName”:“Chrome”,“platformName”:“android”}}}
[W3C] Calling AppiumDriver.createSession() with args: [null,null,{“firstMatch”:[{}],“alwaysMatch”:{“appium:device”:“Android”,“appium:deviceName”:“Redmi Note 11T 5G”,“appium:platformVersion”:“11”,“browserName”:“Chrome”,“platformName”:“android”}}]
[BaseDriver] Event ‘newSessionRequested’ logged at 1652445952650 (18:15:52 GMT+0530 (India Standard Time))
[Appium]
[Appium] ======================================================================
[Appium] DEPRECATION WARNING:
[Appium]
[Appium] The ‘automationName’ capability was not provided in the desired
[Appium] capabilities for this Android session
[Appium]
[Appium] Setting ‘automationName=UiAutomator2’ by default and using the
[Appium] UiAutomator2 Driver
[Appium]
[Appium] The next major version of Appium (2.x) will require the
[Appium] ‘automationName’ capability to be set for all sessions on all
[Appium] platforms
[Appium]
[Appium] In previous versions (Appium <= 1.13.x), the default was
[Appium] ‘automationName=UiAutomator1’
[Appium]
[Appium] If you wish to use that automation instead of UiAutomator2, please
[Appium] add ‘automationName=UiAutomator1’ to your desired capabilities
[Appium]
[Appium] For more information about drivers, please visit
[Appium] http://appium.io/docs/en/about-appium/intro/ and explore the
[Appium] ‘Drivers’ menu
[Appium]
[Appium] ======================================================================
[Appium]
[Appium] Appium v1.22.3 creating new AndroidUiautomator2Driver (v1.70.1) session
[Appium] Applying relaxed security to ‘AndroidUiautomator2Driver’ as per server command line argument. All insecure features will be enabled unless explicitly disabled by --deny-insecure
[BaseDriver] Creating session with W3C capabilities: {
[BaseDriver] “alwaysMatch”: {
[BaseDriver] “browserName”: “Chrome”,
[BaseDriver] “platformName”: “android”,
[BaseDriver] “appium:device”: “Android”,
[BaseDriver] “appium:deviceName”: “Redmi Note 11T 5G”,
[BaseDriver] “appium:platformVersion”: “11”
[BaseDriver] },
[BaseDriver] “firstMatch”: [
[BaseDriver] {}
[BaseDriver] ]
[BaseDriver] }
[BaseDriver] The following capabilities were provided, but are not recognized by Appium:
[BaseDriver] device
[BaseDriver] Session created with session id: 049ff078-262b-4469-b431-f584d7604201
[UiAutomator2] We’re going to run a Chrome-based session
[UiAutomator2] Chrome-type package and activity are com.android.chrome and com.google.android.apps.chrome.Main
[UiAutomator2] Starting ‘com.android.chrome’ directly on the device
[ADB] Found 2 ‘build-tools’ folders under ‘C:\Users\harbanslal\AppData\Local\Android\Sdk’ (newest first):
[ADB] C:/Users/harbanslal/AppData/Local/Android/Sdk/build-tools/32.1.0-rc1
[ADB] C:/Users/harbanslal/AppData/Local/Android/Sdk/build-tools/32.0.0
[ADB] Using ‘adb.exe’ from ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe’
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 start-server’
[AndroidDriver] Retrieving device list
[ADB] Trying to find a connected android device
[ADB] Getting connected devices
[ADB] Connected devices: [{“udid”:“R8S8DAEYFA4PVOIF”,“state”:“device”}]
[AndroidDriver] Looking for a device with Android ‘11.0.0’
[ADB] Setting device id to R8S8DAEYFA4PVOIF
[ADB] Getting device platform version
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell getprop ro.build.version.release’
[ADB] Current device property ‘ro.build.version.release’: 11
[AndroidDriver] Using device: R8S8DAEYFA4PVOIF
[ADB] Using ‘adb.exe’ from ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe’
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 start-server’
[ADB] Setting device id to R8S8DAEYFA4PVOIF
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell getprop ro.build.version.sdk’
[ADB] Current device property ‘ro.build.version.sdk’: 30
[ADB] Getting device platform version
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell getprop ro.build.version.release’
[ADB] Current device property ‘ro.build.version.release’: 11
[ADB] Device API level: 30
[UiAutomator2] Relaxing hidden api policy
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell ‘settings put global hidden_api_policy_pre_p_apps 1;settings put global hidden_api_policy_p_apps 1;settings put global hidden_api_policy 1’’
[UiAutomator2] Deleting UiAutomator2 session
[UiAutomator2] Restoring hidden api policy to the device default configuration
[ADB] Running ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell ‘settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy’’
[BaseDriver] Event ‘newSessionStarted’ logged at 1652445953890 (18:15:53 GMT+0530 (India Standard Time))
[W3C] Encountered internal error running command: Error executing adbExec. Original error: ‘Command ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell ‘settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy’’ exited with code 255’; Command output:
[W3C] Exception occurred while executing ‘delete’:
[W3C] java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
[W3C] at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
[W3C] at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
[W3C] at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
[W3C] at android.content.ContentProvider.call(ContentProvider.java:2471)
[W3C] at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
[W3C] at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
[W3C] at android.os.ShellCommand.exec(ShellCommand.java:44)
[W3C] at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
[W3C] at android.os.Binder.shellCommand(Binder.java:929)
[W3C] at android.os.Binder.onTransact(Binder.java:813)
[W3C] at android.os.Binder.execTransactInternal(Binder.java:1159)
[W3C] at android.os.Binder.execTransact(Binder.java:1123)
[W3C]
[W3C] Exception occurred while executing ‘delete’:
[W3C] java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
[W3C] at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
[W3C] at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
[W3C] at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
[W3C] at android.content.ContentProvider.call(ContentProvider.java:2471)
[W3C] at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
[W3C] at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
[W3C] at android.os.ShellCommand.exec(ShellCommand.java:44)
[W3C] at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
[W3C] at android.os.Binder.shellCommand(Binder.java:929)
[W3C] at android.os.Binder.onTransact(Binder.java:813)
[W3C] at android.os.Binder.execTransactInternal(Binder.java:1159)
[W3C] at android.os.Binder.execTransact(Binder.java:1123)
[W3C]
[W3C] Exception occurred while executing ‘delete’:
[W3C] java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
[W3C] at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2118)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1294)
[W3C] at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1286)
[W3C] at com.android.providers.settings.SettingsProvider.deleteGlobalSetting(SettingsProvider.java:1257)
[W3C] at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:461)
[W3C] at android.content.ContentProvider.call(ContentProvider.java:2471)
[W3C] at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.deleteForUser(SettingsService.java:399)
[W3C] at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:281)
[W3C] at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
[W3C] at android.os.ShellCommand.exec(ShellCommand.java:44)
[W3C] at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
[W3C] at android.os.Binder.shellCommand(Binder.java:929)
[W3C] at android.os.Binder.onTransact(Binder.java:813)
[W3C] at android.os.Binder.execTransactInternal(Binder.java:1159)
[W3C] at android.os.Binder.execTransact(Binder.java:1123)
[W3C]
[W3C] Error: Command ‘C:\Users\harbanslal\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s R8S8DAEYFA4PVOIF shell ‘settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy’’ exited with code 255
[W3C] at ChildProcess. (C:\Users\harbanslal\AppData\Local\Programs\Appium Server GUI\resources\app\node_modules\appium\node_modules\teen_process\lib\exec.js:113:19)
[W3C] at ChildProcess.emit (events.js:203:13)
[W3C] at maybeClose (internal/child_process.js:1021:16)
[W3C] at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
[HTTP] <-- POST /wd/hub/session 500 1279 ms - 10477
[HTTP]