# How to Create Mobile Tests

Create Endtest Mobile Tests for iOS and Android: record on a real device with the Mobile Test Recorder or build tests manually step by step.

Part of the Endtest documentation (Mobile Tests). Canonical URL: https://endtest.io/docs/mobile-tests/how-to-create-mobile-tests

---
## Introduction
    
You can create Mobile Tests for Android and iOS applications, both native and hybrid.

There are **2 ways** to create Mobile Tests:
1. With the **Endtest Mobile Recorder**.
2. **Manually adding test suites, test cases, and steps**.
    
## 1. With the Endtest Mobile Recorder
    
The **Endtest Mobile Recorder** allows you to record Mobile Tests directly in your browser.

In order to record Mobile Tests, you must connect to an _external grid_ which offers real mobile devices.

Endtest supports **[BrowserStack](https://browserstack.com)** as the external grid.
    
    
### How to use the Mobile Recorder with BrowserStack
    
You need an account on BrowserStack that has access to `App Automate`.

If you do not have an account on BrowserStack, you can sign up for a free trial.

That will give you **100 minutes** of `App Automate`.

Even if your tests will be executed on BrowserStack, you will get the results and logs in your Endtest account.
    
#### Steps
**Connect your Endtest account with your BrowserStack account:**
1. Go to your [BrowserStack](https://browserstack.com) account.
2. If you don't have a BrowserStack account, you can just sign up for a Free Trial.
3. Go to the `Products` section from BrowserStack and click on `App Automate`.
4. Click on the `Show` button from the `Username and Access Keys` section on the left side of the page.
5. Go to the `Integrations` tab from the [Settings](https://app.endtest.io/settings) page in Endtest.
6. Add the `Username` and `Access Key` in the BrowserStack App Automate modal.
7. Click on the `Save` button.
    

[Video](https://endtest-videos.s3.us-west-2.amazonaws.com/documentation/endtest_browserstack.webm)

    
 
    

> **Check:** **Your Endtest account and your BrowserStack account are now connected.**
 

> **Note:** You won't have to repeat steps 1-7 unless you move to another BrowserStack account.

    
8. Upload your APK or IPA file in the [Drive](https://app.endtest.io/drive) section.
9. Copy the `File Download URL` for your uploaded app.
    

> **Check:** **Your app is now stored on the Endtest Drive.**

> **Note:** Steps 8-9 will be repeated only when you want to test a new version of your app.

    
10. Go to the [Mobile Tests](https://app.endtest.io/mobile-tests) section in Endtest.
11. Click on the `Record Mobile Test` button and select `BrowserStack` from the `Grid` dropdown.
12. Select the desired configuration.
13. Paste the `File Download URL` in the `APK Download URL` / `IPA Download URL` input.
14. Click on the `Start Recording` button.
15. Once your app has loaded in the `Mobile Recorder`, you will be able to record steps and execute them.
16. After you're done recording, you can save the steps into a `Mobile Test`.
    

[Video](https://endtest-videos.s3.us-west-2.amazonaws.com/documentation/endtest_record_mobile_new_audio.webm)

    
 
    
> You can also upload your APK or IPA file in the [Drive](https://app.endtest.io/drive) by using our [Endtest API](https://endtest.io/docs/advanced/how-to-use-the-endtest-api) chapter.  
> 
> You can also upload your APK or IPA file on a server or an AWS S3 bucket.  
> The URL must have the file name and the file extension at the end, and the file (app) must be downloaded automatically, without any prompts or confirmations.  
> 
> Take our APK Download URL for the Wikipedia Android App as an example:  
> [https://endtest-files.s3.us-west-2.amazonaws.com/WikipediaSample.apk](https://endtest-files.s3.us-west-2.amazonaws.com/WikipediaSample.apk)
> 
> If you want to start the Mobile Recorder from a certain point, you can add a `Miscellaneous -> Start Mobile Recorder` step in your Mobile Test.

## 2. Manually adding test suites, test cases, and steps
    
### Add a test suite
    
1. Go to the [Mobile Tests](https://app.endtest.io/mobile-tests) section.
2. Click on the `Add Test Suite` button.
3. Enter the name for the test suite.
4. Click on the `Save Test Suite` button.
    
### Add a test case
    
Test cases can be added only after you have created the test suite.
    
1. Click on the `Add Test Case` button.
2. Enter the name for the test case.
    
### Add steps inside the test case
    
A test case is made up of steps.
    
To add a new step, just click on the `Add Step` button.
    
Every step is defined by its `Action`
    
Some actions are tied to the entire page (actions such as `Lock`, `Hide Keyboard`, `Take Screenshot`, etc.).
    
While other actions must be tied to a specific element (actions such as `Single Tap`, `Flick`, `Write Text`, etc.).
    
To tie an `Action` to a specific `Element`, you must use a **Locator**.
    
A `Locator` is basically an attribute that identifies the element (`Accessibility ID`, `Class Name`, `XPath`, `Text Inside`, etc.).
    
For Touch actions, you can also use `Coordinates` as a Locator.
    
The easiest way to find a `Locator` is to use the `Get Element Inspector` option from the `Miscellaneous` action.
    
You can read more about that in the [Finding Elements in Mobile Applications](https://endtest.io/docs/mobile-tests/finding-elements-in-mobile-applications) chapter.
    

[Video](https://endtest-videos.s3.us-west-2.amazonaws.com/documentation/create_mobile_test_without_mobile_recorder.webm)
