Espresso vs. Xamarin

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Espresso
Score 8.0 out of 10
N/A
Espresso is a test framework used to write Android UI tests, and part of the Android SDK. The Espresso API encourages test authors to think in terms of what a user might do while interacting with the application - locating UI elements and interacting with them. At the same time, the framework prevents direct access to activities and views of the application because holding on to these objects and operating on them off the UI thread is a major source of test flakiness.N/A
Xamarin
Score 6.0 out of 10
N/A
N/AN/A
Pricing
EspressoXamarin
Editions & Modules
No answers on this topic
Xamarin
Free
Offerings
Pricing Offerings
EspressoXamarin
Free Trial
NoNo
Free/Freemium Version
NoYes
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
EspressoXamarin
User Ratings
EspressoXamarin
Likelihood to Recommend
8.0
(0 ratings)
7.0
(0 ratings)
Likelihood to Renew
-
(0 ratings)
10.0
(0 ratings)
Usability
-
(0 ratings)
10.0
(0 ratings)
Support Rating
-
(0 ratings)
10.0
(0 ratings)
Implementation Rating
-
(0 ratings)
10.0
(0 ratings)
User Testimonials
EspressoXamarin
Likelihood to Recommend
  • It is very easy to verify Images with drawable resources
  • Color Verification we can do this by referring to the same hex code as the developer team used so that it is reused.
  • Opening a desired activity without performing End-to-end flow which eventually saves time.
  • If the application is built on Android we can go testing activity with Espresso as it provides all the necessary APIs
  • Espresso is not appropriate to iOS app automation, from a business point of view we need to hire new resources for iOS testing.
Read full review
Xamarin is well suited for several reasons. The first, it allows companies to share code across platforms. If the app has a lot of business logic and a fairly simple UI, Xamarin is great for this use case. Xamarin also works well if the developers who will work on the app are already fluent in .NET. Xamarin is less appropriate if the company has a lot of developers. If there are plenty of resources to develop apps natively then the headache of dealing with Xamarin's issues are not worth the effort. If the UI is very complex and has difficult animations it's difficult to debug visual/performance issues in Xamarin.
Read full review
Pros
  • Automatic Waiting logic before failing any test
  • Black box and Grey box testing
  • Easy to Understand and Very Flexible
  • Supported Java And Kotlin
  • Fewer Efforts compare to other Mobile Automation Frameworks
  • Execution is very Fast
Read full review
  • We save development time with Xamarin, because we use Xamarin Forms an so we can share most of the code over 3 platforms.
  • We can use our C# knowledge to develop iOS and Android Apps.
  • Xamarin's integration into Visual Studio is very good and became even better during the last releases of Visual Studio.
Read full review
Cons
  • As Espresso works on the ideal thread if the threads are not handled properly by the developing team it can lead to challenges in the execution of your tests.
  • Depends more on the developer's code
  • we cannot develop tests as individual frameworks, we share the repository with developers.
  • We need to be cautious while making changes in the tests, as we share same repository
Read full review
  • Having also done a lot of native mobile development, some of the IDE's features need to emulator their native counterparts. For example, trying to extract a string resource on Android in Xamarin Studio is painful. There are many useful tools in Android Studio that Xamarin should implement.
  • Xamarin will always be behind on native platform features. They must catch up when Apple and Google release new platform versions.
  • The biggest pain point is the random issues Xamarin continues to have. Having a large code base on top of a native platform makes it very difficult to debug issues. Every developer must decide if its an issue with Xamarin or the native platform. Bugs don't get fixed very quickly. Hopefully that will change with the Microsoft acquisition.
Read full review
Likelihood to Renew
No answers on this topic
Xamarin has been great for developing different projects efficiently and effectively. It's nice to reuse the core business logic across different platforms so that there are less to maintain and little replications are needed. The biggest benefit is that C# programmers do not have to learn a different language to do mobile development.
Read full review
Usability
No answers on this topic
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and efforts from your development team to be able to build applications seamlessly for android, IOS, windows, and web on a single platform instead of requiring multiple tools to get the job done
Read full review
Support Rating
No answers on this topic
I never had to contact support for any help. Most of the problems we ran into, we were able to identify and use peer support through blogs and other internet sources to resolve the problems. There are plenty of sources online which provide tutorials, discuss problems, etc. Example: StackOverflow
Read full review
Implementation Rating
No answers on this topic
Just with any programming tasks, have a plan first. Design out the system, spend time to build it correctly the first time and have plenty of testing and user acceptance opportunities. Xamarin was easy to implement for a C# programmer. However, you need to do tutorials to realize the platform's capabilities.
Read full review
Alternatives Considered
As our app is complete on Android Espresso is the best choice over Appium Fewer efforts in Espresso over Appium, as Espresso provides some built-in library to perform the operation. Easy to use, Espresso is very easy to understand and we can perform operations with very little code. Developers can contribute, as they have good command over Java and Kotin languages and also use Espresso for unit testing.
Read full review
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software development, provided a developer is comfortable switching between the IDE the command line for certain parts of their workflow, like building, package management, or debugging. But for C# .NET development on MacOS specifically, Xamarin is the best product I've used for the job.
Read full review
Return on Investment
  • As it is an Open Source tool it cost-effective
  • East to use, so that you can train many new Joiners to start delivering the tasks
  • Maintainance is very low, as we depend on the developer's layout files we can reuse their elements
  • We can cover most of the scenarios which helps in the coverage of the tests
Read full review
  • Code Sharing - We were able to launch an Android implementation of our app within weeks after finishing iOS. The amount of time taken to develop a new platform is very small.
  • Monetization - not the best, but definitely getting better. We've had issues with finding suitable ad networks that work with Xamarin.
Read full review
ScreenShots