Protractor - appium certainly works…
Protractor is specifically built for ionic apps. It can identify the ionic elements. The feature which I loved most about protractor was you don’t need to add implicit/explicit wait. Protractor performs action on any element after the entire element is loaded fully on page(it waits even if element is in DOM and not on screen).
It helps to avoid unnecessary failures due to element not visible/stale element exceptions and others. Give it a try.