Skip to content

Commit

Permalink
Addressed reviews
Browse files Browse the repository at this point in the history
  • Loading branch information
grgprarup committed Jul 8, 2024
1 parent 02edfc1 commit 3c0ca2e
Showing 1 changed file with 22 additions and 23 deletions.
45 changes: 22 additions & 23 deletions src/assets/MobileTestAutomation/automationFrameworksComparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,21 @@ Mobile applications are now an essential part of our daily routines. From shoppi
there's an app for almost everything. As our reliance on these apps grows, ensuring their quality becomes increasingly
important. This is where mobile test automation frameworks play a key role. They automate the testing process, making
sure apps function correctly without needing manual checks. However, with
numerous [options available](https://www.google.com/search?q=test+automation+frameworks+for+mobile+applications&oq=test+automation+frameworks+for+mobile+applications&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIICAEQABgWGB4yDQgCEAAYhgMYgAQYigUyDQgDEAAYhgMYgAQYigUyDQgEEAAYhgMYgAQYigUyDQgFEAAYhgMYgAQYigUyDQgGEAAYhgMYgAQYigUyCggHEAAYgAQYogQyCggIEAAYgAQYogTSAQkxMzQ3OWowajeoAgCwAgA&sourceid=chrome&ie=UTF-8),
numerous [options available](https://www.google.com/search?q=test+automation+frameworks+for+mobile+applications),

![frameworks-list.png](/src/assets/MobileTestAutomation/images/frameworks-list.png "Frameworks List")

##### **_How do you choose the right one?_**

Among the available frameworks, I've picked these five for comparison: Appium, Calabash, XCUITest, Espresso, and
Selendroid. Let's break them down in straightforward.
Among the available frameworks, I've picked these five for comparison: **_Appium_**, **_Calabash_**, **_XCUITest_**, **_Espresso_**, and **_Selendroid_**. Let's break them down in straightforward.

## [**Selendroid**](http://selendroid.io/)

Selendroid, is a test automation framework for native or hybrid Android applications and the mobile web. It is an open
source tool with 433 GitHub forks and 880 GitHub stars and [here](https://github.com/selendroid/selendroid) is the
GitHub link.

#### Pros and Cons:
### Pros and Cons:

| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|-----------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
Expand All @@ -39,7 +38,7 @@ GitHub link.
| **No App Modifications:** You don't need to recompile or modify your app | |
| **Inspector Tools:** Selendroid includes its own [UI inspector](http://selendroid.io/inspector.html) tool | |

#### When to use?
### When to use?

- When automating tests for Android applications across devices with varying screen sizes and resolutions
- For conducting cross-browser testing of Android apps, ensuring compatibility across a wide range of devices and
Expand All @@ -52,10 +51,10 @@ GitHub link.

## [**Espresso**](https://developer.android.com/training/testing/espresso)

Espresso is an open source Android applications test automation framework developed by Google. It's known for its
simplicity and integration with Android Studio.
Espresso is an open source Android applications test automation framework developed by Google
and [here](https://github.com/android/android-test/tree/main/espresso) is the GitHub link. It's known for its simplicity and integration with Android Studio.

#### Pros and Cons:
### Pros and Cons:

| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|-----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
Expand All @@ -64,7 +63,7 @@ simplicity and integration with Android Studio.
| **Regular Updates:** The tool is up-to-date with the latest Android OS features | **IDE Dependent:** Android Studio IDE needs to be installed |
| **Community Support:** Owned by Google with large community | |

#### When to use?
### When to use?

- To validate each build after code changes
- To streamline processes by avoiding dependencies on remote servers and other workstations for testing
Expand All @@ -77,7 +76,7 @@ simplicity and integration with Android Studio.
XCUITest is Apple's testing framework for iOS applications. Integrated with Xcode, it offers a straightforward way to
write and run tests for iOS apps.

#### Pros and Cons:
### Pros and Cons:

| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
Expand All @@ -86,30 +85,30 @@ write and run tests for iOS apps.
| **Community Support:** Built by Apple with large community | **Environment:** Only for macOS |
| | **IDE Dependent:** XCode IDE needs to be installed |

#### When to use?
### When to use?

- When developing iOS applications with stable, reliable, and fast testing
- When your team is focused on iOS development
- When you need to test iOS apps across various devices and screen sizes

## [**Calabash**](https://github.com/calabash)

Calabash is an open-source framework that allows you to write and execute tests for Android and iOS apps. It uses
Calabash is an open source framework that allows you to write and execute tests for Android and iOS apps. [Here](https://github.com/calabash) is the GitHub link. It uses
Cucumber, a tool that lets you write tests in plain language.

#### Pros and Cons:
### Pros and Cons:

| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|--------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
| **Environment:** Can be installed and run on various OS such as Windows, Linux, and macOS. | **Lack of documentation:** Can be slower compared to other tools because it uses a client-server architecture. |
| **Cross-Platform:** It supports writing tests for both iOS and Android. | **Limited Language Support:** It supports only Ruby | |
| **User-Friendly:** Write tests in plain English, making it accessible for non-programmers. | **No Regular Updates:** Active development has ceased, which might affect future compatibility |
| **Open-Source:** Free to use | **Low Community Support:** Very low community support as it is not used by many |
| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|-------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Environment:** Can be installed and run on various OS such as Windows, Linux, and macOS | **Lack of documentation:** Its documentation is quite minimal, making it challenging to set up the automation framework. To complete the setup, one often needs to rely on external resources |
| **Cross-Platform:** It supports writing tests for both iOS and Android | **Limited Language Support:** It supports only Ruby | |
| **User-Friendly:** Write tests in plain English, making it accessible for non-programmers | **No Regular Updates:** Active development has ceased, which might affect future compatibility |
| **Open-Source:** Free to use | **Low Community Support:** Very low community support as it is not used by many |

#### When to use?
### When to use?

- When your team includes non-technical members who need to write tests
- For projects that would benefit from behavior-driven development (BDD)
- For projects that would benefit from [behavior-driven development](https://cucumber.io/docs/bdd/) (BDD)

## [**Appium**](https://appium.io/docs/en/latest/)

Expand All @@ -118,7 +117,7 @@ mobile (Android, iOS, Tizen), web, desktop, TV. both iOS and Android platforms.
from its support for multiple programming languages for writing tests. Also, it is an open-source tool with 18.2k GitHub
stars and 6k forks and [here](https://github.com/appium/appium) is the GitHub link.

#### Pros and Cons:
### Pros and Cons:

| **Pros πŸ‘** | **Cons πŸ‘Ž** |
|--------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|
Expand All @@ -130,7 +129,7 @@ stars and 6k forks and [here](https://github.com/appium/appium) is the GitHub li
| **No App Modifications:** You don't need to recompile or modify your app | |
| **Inspector Tools:** Appium includes its own [UI inspector](https://github.com/appium/appium-inspector) tool | |

#### When to use?
### When to use?

- When developing mobile applications across multiple platforms (iOS and Android) to guarantee seamless
cross-platform compatibility
Expand Down

0 comments on commit 3c0ca2e

Please sign in to comment.