Search code examples
c#appiumselenium-chromedriverappium-android

Appium Chrome Browser. How to disabled cache reset option


DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability(MobileCapabilityType.NoReset, true);
appCapabilities.SetCapability(MobileCapabilityType.PlatformName, MobilePlatform.Android);
appCapabilities.SetCapability(MobileCapabilityType.DeviceName, "0");
appCapabilities.SetCapability(MobileCapabilityType.Udid, device);
appCapabilities.SetCapability(MobileCapabilityType.BrowserName, MobileBrowserType.Chrome);
appCapabilities.SetCapability(MobileCapabilityType.NewCommandTimeout, 10000);
driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), appCapabilities);

this is my code.

[JSONWP Proxy] Got response with status 200: {"sessionId":"494892b985b37b1e9aa0c949d73dfc8e","status":0,"value":{"acceptInsecureCerts":false,"acceptSslCerts":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"browserName":"chrome","chrome":{"chromedriverVersion":"2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb)"},"cssSelectorsEnabled":true,"databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":true,"javascriptEnabled":true,"locationContextEnabled":true,"mobileEmulationEnabled":false,"nativeEvents":true,"pageLoadStrategy":"normal","platform":"ANDROID","rotatable":false,"setWindowRect":false,"takesHeapSnapshot":true,"takesScreenshot":true,"unexpectedAlertBehaviour":"","version":"67.0.3396.87","webStorageEnabled":true}}

this is appium log.

i think [ "applicationCacheEnabled" : false ] is creating problem.

I want to set applicationCacheEnabled : true

or

Setting no reset chrome cache.

I search the options and found "NoReset"

but it didn't work for chrome broswer.

only work execute app.

I need help. C# or java Code, anything...


Solution

  • Self answer.

    DesiredCapabilities appCapabilities = new DesiredCapabilities();
    appCapabilities.SetCapability(MobileCapabilityType.PlatformName, "Android");
    appCapabilities.SetCapability(MobileCapabilityType.DeviceName, device);
    appCapabilities.SetCapability(MobileCapabilityType.Udid, device);
    appCapabilities.SetCapability(AndroidMobileCapabilityType.AndroidDeviceReadyTimeout, 300);
    appCapabilities.SetCapability(AndroidMobileCapabilityType.AppWaitDuration, 30);
    appCapabilities.SetCapability(AndroidMobileCapabilityType.ChromedriverExecutable, string.Format("{0}\\chromedriver.exe", DirectoryPath.Library));
    appCapabilities.SetCapability(MobileCapabilityType.BrowserName, "");
    appCapabilities.SetCapability(AndroidMobileCapabilityType.AppPackage, "com.android.chrome");
    appCapabilities.SetCapability(AndroidMobileCapabilityType.AppActivity, "com.google.android.apps.chrome.Main");
    
    driver = new AndroidDriver<IWebElement>(service.ServiceUrl, appCapabilities, new TimeSpan(0, 5, 0));
    driver.Context = "WEBVIEW_chrome";
    
    1. Set uiautomator and chromedriver.
    2. Change context.