Can't sign into iOS app (on simulator) unless Full_Reset option is used

I am starting some iOS automation on the application I work on and am seeing odd behavior. I am using an iOS simulator, and I can get the application to open up and I can interact with it.

First off I am just trying to sign in to the application under test. I can accomplish this, but only when I run the test with the fullReset desired capability set = true. I am trying to not fully reset the application and simulator each time as that takes a bunch of time. If I omit the fullReset desired capability I can still open and interact with the application, but I am met with errors when trying to sign into the app.

I’ve tried a bunch of different things, but still can’t sign into the application under test with appium unless I start with a fresh simulator. After the tests fail, if I just interact with the simulator manually I can sign in just fine. It almost seems like it is something about the code being automated that is causing the issue, or maybe the network?

Any guidance is helpful, I can provide more details if necessary. I just can’t wrap my head around why I can sign in to the app on the simulator manually, but if i use code it errors (unless i start with a fresh simulator).

It is possible the app uses the keychain to store some info. On simulator there is mobile: clearKeychains command to reset it without resetting the whole simulator.

Thanks for the reply!

I actually have that in my code already and am still seeing the issue.

driver = new IOSDriver(new URL(IOSDesiredCapabilities.iOSServerURL), capabilities);
driver.executeScript("mobile:clearKeychains");

Try it with the recent Xcode 11.4 and Appium 1.17

There keychains cleanup is a native operation provided by the Apple SDK (previously it was done using a tricky hack). Also make sure you uninstall the app completely to clear its data and keychains cleanup is done when the app is not running