Appium works well for well-structured mobile applications test automation that is particularly easy to leverage when different pages of the app use similar building blocks. If it takes time for some content in the app to be rendered, ask your dev team to add progress indicators and ensure they are accessible. That might be more complicated to do with Appium, though, if there's no good contact with Dev team established so you can request accessibility IDs added quickly enough when needed. Appium supports another locator strategies as well though (such as xPath or iOS class chain on iOS) but they wouldn't work as fast so you may get really slow tests.
When you have to test the UI and how it behaves when certain actions are performed, you need something that can automate the browsers. This is where Selenium comes to the rescue. If you have to test APIs and not the frontend (UI), I would recommend going with other libraries that support HTTP Requests. Selenium is good only when you have no choice but to run the steps on a browser.
There are a number of expected methods that are not implemented, yet. With a similar sounding name as Selenium with similar functions, people who are familiar with Selenium try to use methods that appear to be available, but give a "not yet implemented" exception when run.
Documentation can be confusing.
Setup was a difficult process. This may not necessarily be the case once you figure everything out, but the whole figuring it out process was difficult and I ran into many, many problems when I first started.
Recognize Adobe Flash and MS Silver Light elements without additional help
Detect and locate Java applets ingredients
Having the "Wait-till-Displayed" or "Wait-till-Present" as a built in Web Driver function instead of requirement for writing loops and defining expliccit wait, visiblewait, invisiblewait, etc.
We love this product mainly because of its high customization abilities and the ease of use. Moreover, its free and can be learned easily through online communities and videos. The tests are more consistent and reliable as compared to Manual tests. It has enabled us to test a large number of features all in one go, which would have impossible through manual tests. The reports generated at the end of the tests are really helpful for the QA and the development teams to get a fair view of the application.
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.
As I mentioned earlier, the reason I use Selenium is because there is a fairly widespread community of users, and user support services are at a good level. because the application is open source, it works on many platforms (Windows, Linux, IOS) without any problems. In addition, it gives us a lot of options for writing functional tests. For errors that we receive through the application, we can easily find the reasons for errors in the forums.
Selenium does not have technical support available easily. You have to go through forums to get the information you need. However, there are excellent forums out there that make it easy to troubleshoot. The open-source flexibility makes it difficult to have dedicated support.
We did everything we needed to use it. Now we can execute our tests on different operational systems and browsers running few tests simultaneously. We also implemented Appium framework to execute our tests on mobile devices, such as iPhones, iPads, Android phones and tablets. We use SauceLabs for our test execution and Jenkins for continuous integration.
Most of mobile testing tools which are available in the market are paid license tools. But Appium is Open source mobile testing tool. We can create customised automation framework using Appium. It also supports various languages such as Java, Javascript etc. And also supports various operating systems such as Android, IOS etc. We can easily integrate Appium frameworks with CI/CD [Jenkins, Git etc].
At the time of adoption, there were not many other alternatives that were even close to being competitive when it comes to browser testing. As far as I know now to this day, there is still little competition to Selenium for what it does. Any other browser-based testing still utilises Selenium to interact with the browser.
Generation of detailed finding reports helped in cost savings in regard to direct labor.
Quality Assurance technicians found value in repeating mundane duties that they perform daily. It saved mental energy due to the automation process.
The value was established in high volume usage in setting up meetings as well as new accounts with A/B testing. Also merely cleaning up old test documents by evaluating them and organization or deletion.