Appium

Advantages: 1, can use a variety of languages for testing; 2, Mac version of the client, easy to operate the graphical interface; 3. No access to source code;

Disadvantages: 1. Complex configuration; 2. Multiple clients often fail to adapt to the iOS version; 3. Distribution of Appium Server desktop applications is often erratic;

EarlGrey:

Advantages: 1. Simple syntax (OC/Swift); 2, fast speed; 3. Fast embedding project; 4. Git timely updates and replies to questions;

Disadvantages: 1, need engineering source code, there is a certain business and code base; 2. Integration of too many third-party libraries may cause conflicts with the project;

KIF (Keep It Functional) :

Advantages: 1, combined with OCUnit, easy to use private API (OC syntax); 2. Pure UI interface operation test;

Disadvantages: 1, running speed is slow; 2, do not support iOS10 environment;

The UI Testing Bundle:

Advantages: 1. OC native framework, easy to use API; 2. Not affected by Xcode update, timely update;

Disadvantages: 1. Too many RESTRICTIONS on API access; 2, can only achieve simple click operation, sliding and other functions can not be achieved; 3, the execution of the end, no return results;

Postscript: UITesting Bundle was the final choice for UI automation for a few reasons:

(1) More support can be obtained from Apple technical support developers or relevant forums; (2) No longer dependent on third-party libraries, iOS applications can be driven from functionality to unit testing without downloading a separate package; (3) No longer worry about the availability of dependent libraries for MAC OS and Xcode version upgrades, which often lag behind the latest framework; (4) completely customized methods for their own functions;