What is Selendroid and what are its top alternatives?
Selendroid is an open-source test automation framework for Android that drives off the UI of Android native and hybrid applications (apps) as well as mobile web. Its key features include multiple Android target API support, full compatibility with existing client test frameworks, and automatic installation of apps. However, Selendroid has limitations like not supporting the latest versions of Android and lacking stable documentation.
- Appium: Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS and Android platforms. Key features include cross-platform support, support for multiple programming languages, and seamless integration with CI tools. Pros compared to Selendroid include better community support and continuous updates, while cons include a steeper learning curve.
- Espresso: Espresso is a testing framework for writing concise, beautiful, and reliable Android UI tests. Key features include intuitive and flexible APIs, seamless integration with Android Studio, and automatic synchronization with app state. Pros compared to Selendroid include faster execution speed and improved reliability, while cons include limited support for complex interactions.
- XCUITest: XCUITest is Apple's native framework for testing iOS apps. Key features include comprehensive testing capabilities, support for both Objective-C and Swift, and seamless integration with Xcode. Pros compared to Selendroid include deep integration with iOS devices and a familiar API for iOS developers, while cons include limited cross-platform support.
- Robot Framework: Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development. Key features include easy-to-use syntax, support for keyword-driven testing, and a rich ecosystem of libraries and tools. Pros compared to Selendroid include flexibility and extensibility, while cons include a lack of native support for mobile applications.
- Calabash: Calabash is an automated UI testing framework for Android and iOS apps. Key features include support for BDD, a wide range of testing features, and compatibility with both iOS and Android. Pros compared to Selendroid include easy setup and integration with Ruby-based frameworks, while cons include limited community support and updates.
- Katalon Studio: Katalon Studio is a comprehensive test automation tool that supports web, API, and mobile testing. Key features include a complete test environment, visual test creation, and seamless integration with popular CI tools. Pros compared to Selendroid include a user-friendly interface and a wide range of testing capabilities, while cons include limited advanced customization options.
- Detox: Detox is a gray box end-to-end testing and automation library for mobile apps. Key features include fast and reliable testing, support for both iOS and Android, and easy debugging capabilities. Pros compared to Selendroid include the ability to simulate complex user interactions and real-world scenarios, while cons include limited documentation and a smaller community.
- TestProject: TestProject is a community-powered test automation platform with support for web, mobile, and API testing. Key features include a free test automation tool, cloud-based test execution, and a marketplace for shared test automation resources. Pros compared to Selendroid include a friendly community and a low barrier to entry, while cons include limited support for native testing on older Android versions.
- Ranorex: Ranorex is a comprehensive test automation tool for web, desktop, and mobile applications. Key features include a drag-and-drop interface, cross-platform testing capabilities, and robust object identification. Pros compared to Selendroid include extensive reporting and analysis features, while cons include a higher price point and a steeper learning curve for beginners.
- Detox: Detox is a gray box end-to-end testing and automation library for mobile apps. Key features include fast and reliable testing, support for both iOS and Android, and easy debugging capabilities. Pros compared to Selendroid include the ability to simulate complex user interactions and real-world scenarios, while cons include limited documentation and a smaller community.
Top Alternatives to Selendroid
- Appium
Appium is an open source test automation framework for use with native, hybrid, and mobile web apps. It drives iOS and Android apps using the WebDriver protocol. Appium is sponsored by Sauce Labs and a thriving community of open source developers. ...
- Robotium
It is an Android test automation framework that has full support for native and hybrid applications. It makes it easy to write powerful and robust automatic black-box UI tests for Android applications. ...
- Selenium
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well. ...
- Android SDK
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. ...
- jQuery Mobile
jQuery Mobile is a HTML5-based user interface system designed to make responsive web sites and apps that are accessible on all smartphone, tablet and desktop devices. ...
- React Navigation
Start quickly with built-in navigators that deliver a seamless out-of-the box experience. Navigation views that deliver 60fps animations, and utilize native components to deliver a great look and feel. ...
- SwiftUI
Provides views, controls, and layout structures for declaring your app's user interface. The framework provides event handlers for delivering taps, gestures, and other types of input to your app. ...
- Replit
It is a platform for creating and sharing software. You can write your code and host it all in the same place. It is also a place to learn how to code. ...
Selendroid alternatives & related posts
- Webdriverio support12
- Java, C#, Python support6
- Open source3
- Great GUI with inspector2
- Active community2
- Support android test automation1
- Internal API access1
- Support iOS test automation1
related Appium posts
Looking for some advice: we are planning to create a hybrid app for both iOS and Android; this app will consume a REST API. We are looking for a tool for this development with the following attributes:
Shallow learning curve; easiness to adopt (all team is new into mobile development, with diverse backgrounds: Java, Python & AngularJS),
Easiness to test (we discarded Angular-based tools already: creating a unit test in Angular we considered time-consuming and low value. At this point of the project, we cannot afford UI testing with Selenium/Appium based tools).
So far, we are not considering any specific capability of the device. Still, in the mid/long term, we would require the usage of GPS (geolocalization) and accelerometer (not sure if it's possible to use it from a hybrid app). Suggest any other tool if you wish.
I chose WebdriverIO and Appium to implement a E2E tests solution on a native mobile app. WebdriverIO goes well beyond just implementing the Selenium / Appium protocol and allows to run tests in parallel out of the box. Appium has the big advantage of supporting iOS and Android platforms, so the test codebase and tools are exactly the same, which greatly reduces the learning curve and implementation time.
related Robotium posts
- Automates browsers177
- Testing154
- Essential tool for running test automation101
- Record-Playback24
- Remote Control24
- Data crawling8
- Supports end to end testing7
- Easy set up6
- Functional testing6
- The Most flexible monitoring system4
- End to End Testing3
- Easy to integrate with build tools3
- Comparing the performance selenium is faster than jasm2
- Record and playback2
- Compatible with Python2
- Easy to scale2
- Integration Tests2
- Integrated into Selenium-Jupiter framework0
- Flaky tests8
- Slow as needs to make browser (even with no gui)4
- Update browser drivers2
related Selenium posts
When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.





In 2012 we made the very difficult decision to entirely re-engineer our existing monolithic LAMP application from the ground up in order to address some growing concerns about it's long term viability as a platform.
Full application re-write is almost always never the answer, because of the risks involved. However the situation warranted drastic action as it was clear that the existing product was going to face severe scaling issues. We felt it better address these sooner rather than later and also take the opportunity to improve the international architecture and also to refactor the database in. order that it better matched the changes in core functionality.
PostgreSQL was chosen for its reputation as being solid ACID compliant database backend, it was available as an offering AWS RDS service which reduced the management overhead of us having to configure it ourselves. In order to reduce read load on the primary database we implemented an Elasticsearch layer for fast and scalable search operations. Synchronisation of these indexes was to be achieved through the use of Sidekiq's Redis based background workers on Amazon ElastiCache. Again the AWS solution here looked to be an easy way to keep our involvement in managing this part of the platform at a minimum. Allowing us to focus on our core business.
Rails ls was chosen for its ability to quickly get core functionality up and running, its MVC architecture and also its focus on Test Driven Development using RSpec and Selenium with Travis CI providing continual integration. We also liked Ruby for its terse, clean and elegant syntax. Though YMMV on that one!
Unicorn was chosen for its continual deployment and reputation as a reliable application server, nginx for its reputation as a fast and stable reverse-proxy. We also took advantage of the Amazon CloudFront CDN here to further improve performance by caching static assets globally.
We tried to strike a balance between having control over management and configuration of our core application with the convenience of being able to leverage AWS hosted services for ancillary functions (Amazon SES , Amazon SQS Amazon Route 53 all hosted securely inside Amazon VPC of course!).
Whilst there is some compromise here with potential vendor lock in, the tasks being performed by these ancillary services are no particularly specialised which should mitigate this risk. Furthermore we have already containerised the stack in our development using Docker environment, and looking to how best to bring this into production - potentially using Amazon EC2 Container Service
Android SDK
- Android development289
- Necessary for android156
- Android studio128
- Mobile framework86
- Backed by google82
- Platform-tools27
- Eclipse + adt plugin21
- Powerful, simple, one stop environment5
- Free3
- Больно3
related Android SDK posts
We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.
Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.
We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.
You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login, MapView
, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/
related jQuery Mobile posts
I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.
I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).
As per my work experience and knowledge, I have chosen the followings stacks to this mission.
UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.
Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.
Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.
Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.
Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.
Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.
Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.
Happy Coding! Suggestions are welcome! :)
Thanks, Ganesa
React Navigation
- Easy to use1
related React Navigation posts
- XCode Canvas feature2
- Live previews2
- Smaller Scalable views2
related SwiftUI posts
Greetings everyone. I ran a design studio for 8 years in which we designed mobile and web apps. I also lead development teams when our client asked us to carry out the development of the projects. I always had an interest in learning to code to help me understand what is going on on the dev side and also build small apps as a hobby. I tried several times to get on a learning path, but challenges always put me down, so I quit after a couple of weeks. I tried JavaScript, Python, PHP, and Objective-C.
Now I am retrying to teach myself Swift and especially SwiftUI for more than a month, and It's been going well so far. I want to build my own small apps, and I'm not focused on getting hired as a developer. I want to ask if it's the right language to start learning to program or should I learn something else first as a foundation. I'm currently taking a 100 days of code challenge and reading the Swift 5.3 PDF if I want to get more information on a specific topic. It feels like none of the stuff is sticking, but I'm not sure if it's the way it goes or my approach is wrong.
I would appreciate any kind of guidance. Thanks
I am new to Flutter... I am not able to make a decision should I use flutter or SwiftUI? application with 8 to 10 modules already done with native code.. now client want other 2 modules so i am confused between flutter and native
Replit
- Less Complicated6
- Continuous Deployment4
- Github integration2
- Free base plan and Premium plan is cheap2
- Supports a Reasonable amount of languages2
- Editor extensions1
- Helpfull Community1
- Emmet support0
- Emmet support0
- Limited Storage, CPU, Ram2
- Server cannot stay 24/72
- Very Limited Database API2
- Poor support2