# swipe

This command allows you to mimic movement across a touch screen. This is useful for swiping components such as cards, carousels and bottom sheets.

Note: to move around a screen, you may prefer the [scroll](https://docs.moropo.com/creating-tests/commands/scroll) command.

## Options

### Using the direction shortcut

For simple swipes, simply pass a direction:

⬆️ `UP` - swipes up from the centre of the screen to the top of the screen.

⬇️ `DOWN` - swipes down from the centre of the screen to the bottom of the screen

⬅️ `LEFT` - swipes from right to left of the screen

➡️ `RIGHT` - swipes from left to right of the screen

For example:

```yaml
- swipe:
    direction: DOWN
```

### Setting swipe speed

By default, the test runner will perform the swipe over 400 ms. That's the time it takes to get from start to end.

However, you may specify a custom speed (in milliseconds) using the duration command. For example, if you wanted to test a slow 2-second swipe:

```yaml
- swipe:
    direction: RIGHT
    duration: 2000
```

### Specifying start and end coordinates

If you need more control, you can tell the runner to use specific coordinates.

For example, with percentage-based coordinates:

```yaml
- swipe:
    start: 80%,80%  #bottom right
    end: 20%,20%    #top left
```

Or using pixel-based coordinates:

```yaml
- swipe:
    start: 400,220  #middle right
    end: 100,220    #middle left
```

*NB: avoid pixel-based if possible as they don't translate to other screen sizes/viewports*

### Specifying a start element using 'from'

If you need to target a specific view or component with your swipe command, then you can specify a starting [selector](https://docs.moropo.com/creating-tests/test-step-selectors) using the `from` option.

For example, paired with the [direction shortcut](#using-the-direction-shortcut):

```yaml
- swipe:
     from:
       text: "swipe from this text"
     direction: DOWN
```

Or with the [end coordinate](#specifying-start-and-end-coordinates):

```yaml
- swipe:
     from:
       text: "swipe from this text"
     end: 50%,10%
```

## Related Commands

[scroll](https://docs.moropo.com/creating-tests/commands/scroll "mention")

[scrolluntilvisible](https://docs.moropo.com/creating-tests/commands/scrolluntilvisible "mention")
