For last few weeks, I was using appium(python) for android testing but yesterday we have decided to shift to Expresso(Java) for automated testing. There are couple of reasons why we are making this shift:

  • We want to scale out our automated testing, and there are lot of features not present in appium.

  • This is one of the latest testing framework for android, and has nice backward compatibility.

  • Small API and very easy to customize.

I have been reading for Espresso but I don't find anything great at all, If I compare it with Appium. I am a Python/R developer so maybe there are couple of points I am not able to understand. Would anyone like to help me understand if the shift to this new testing framework will be good for future?

  • Just my personal experience: after Python, using Java for me was a no-go. Too wordy, too obsessed by types, file input/output way too complicated. I was not able to get to the level of productivity I was used in Python. Could not handle the pain, and programming was not the fun it was in Python. Just IMHO, YMMV. Did you tried using Java in earnest? Did you liked it? Feb 23, 2016 at 16:47
  • I don't like Java at all :/ I have been using Python/R for last 2 years and it is so much fun. I am trying to convince them to don't go for Expresso, but sadly I am missing the bigger picture. I still don't know why they are making this move.
    – python
    Feb 23, 2016 at 17:30
  • I too have experienced this in a workplace, very difficult to understand from an employee perspective. After pondering on my own personal experience for a while, I decided to just make the best of the situation. Your company is allowing you to expand your programming base, and they are most likely going to pay you to do it! What an awesome opportunity.
    – DEnumber50
    Feb 23, 2016 at 18:01
  • @python - This does not answer your question, but if they decide to switch to a Java-based framework, I guess you can either (1) bite the bullet and get Java skills (if they will pay for training), or (2) look for a job with better fit for your skills and interests. Your R might be great skill to have, and not beneficial for testing anyway, so maybe you can find a better fit elsewhere. Espresso might be (or not) good fit for the company QA needs, but not for your own career goals. You need to take care of your own career yourself, nobody else will. Feb 23, 2016 at 18:16
  • 1
    I worked in java for about 10 years, once you learn it, it's a lot of fun. Learning curve is not that steep when you are writing automated tests using selenium, in fact you probably only need to know about a very small subset of Java language constructs, because all the work is done by selenium. Mar 18, 2016 at 2:26

2 Answers 2

  1. When running the mobile automated tests via espresso it runs more faster than appium.
  2. Also we don't need to give the implicit and explicit waits separately. Espresso can handle the wait time on their own.

Espresso has great integration with native development across tools (build, coverage, etc.) and IDEs given that are the official way to work with UI tests for Android. This also makes adoption amongst Devs much higher. Also comes with the perk of idling resources which removes the need of sleeps/waits in your tests.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.