1. It's open source which supports range of languages, operating systems and languages. Well suited for Android and IOS mobile automation. Supports all kinds of apps, which makes it flexible and robust mobile testing tool 2. It is less appropriate where we need intercept network call to verify the API calls. Extensive coding experience is required to work Appium
Gatling requires Scala code to run high-quality scenarios. The recorder helps, but does not provide an immediately usable path. In the results, it is difficult to analyse the errors encountered during a load test. We can identify when errors occur, but it is challenging to pinpoint the cause at a given moment.
I would like to give 9/10 rating to Appium because of it can easily integrate with popular frameworks and CI/CD tools, as well as it is reliable, flexible and easy to use. The setup can bit complex in initial step, but once on configured it's very easy to use and enables stable and scalable mobile automation for real and cloud devices.
Our tests are only run via an integration platform (Jenkins), and only the results are analysed using Gatling reports. The difficulty lies in maintaining the Scala scripts, which must keep pace with changes in the application over time. New use cases must be thoroughly documented for testers who are not directly involved in development.
If you're an Apple developer, you use Xcode. It's practically a forced necessity. For system testing though, it doesn't have to be. You can have your development team focus on unit and integration tests in their platform and another team automate acceptance tests with a language they are more familiar with.
Gatling can only be used for high-load tests with a paid license and only for tests with a reduced graphical user interface (GUI). Unlike OctoPerf, NeoLoad, or LoadRunner, we are not limited to a fixed number of users per license. Compared with JMeter, Gatling is less resource-intensive and therefore does not require an extensive test infrastructure.