mesmer crawl

Start, stop, and manage application crawling.

mesmer crawl {start,stop}

These two subcommands start or stop crawling a particular application build. You can get the build id from mesmer build list.

To enable a11y auditing, pass the --a11y flag. This will audit with the first a11y policy configured in your Mesmer tenant. To use a particular a11y policy, you can pass the policy ID (from mesmer a11y policies) with the --a11y-policy parameter.

# Start a 30min crawl
$ mesmer crawl start $build_id --duration 30
 ✓  Crawl in queue
 ✓  Crawl started
 Crawl ID  bbbbbbbbbbbbbbbbbbbbbbbb

# Submit a crawl, run an a11y audit, and don't wait for the crawl to start
$ mesmer crawl start $build_id --a11y --no-wait
 ✓  Crawl in queue

# Stop a crawl
$ mesmer crawl stop $build_id
 ✓  Crawl stopped
 Crawl ID  bbbbbbbbbbbbbbbbbbbbbbbb

mesmer crawl describe

You can get detailed crawl results with mesmer crawl describe, including an overview of the App Map, and device execution information.

# Get the crawl ID from the build
$ mesmer build describe $build_id
Name .............. Calculator
Package ........... com.google.android.calculator
Binary Name ....... calculator.apk
Type .............. APK
Crawl completed? .. true

        Last Crawl  bbbbbbbbbbbbbbbbbbbbbbbb

# Describe the crawl
$ mesmer crawl describe $crawl_id
Crawl
Completed? .. true
Started At .. 2020-06-25 04:42:15.269 UTC
End At ...... 2020-06-25 04:59:34.898 UTC
Duration .... 720 mins

 Device UDID  fffffffffffff
    Crawl ID  cccccccccccccccccccccccc
    Audit ID  gggggggggggggggggggggggg

App Map
+ unknown (hash: [none])
  + CAR_SWIPE (hash: 4081128378124688611)
    + PERMISSION_POPUP (hash: 9343593201226972331)
      + BLANK_SCR (hash: 71776120705449983)
        + CAR_SWIPE (hash: 10136218076990102755)
      + PERMISSION_POPUP (hash: 4120016232598870201)
        + CAR_SWIPE (hash: 10136218076990102755)
      + Out of context (hash: 843484986895691527)

mesmer crawl history

You can fetch the list of all crawls executed against a build with mesmer crawl history:

$ mesmer crawl history $build_id
Crawl ID                 Device               Duration Screens Depth   A11y Status          Audit ID
aaaaaaaaaaaaaaaaaaaaaaaa samsung SM-G950U1      2 mins       4       3 Queued               dddddddddddddddddddddddd
bbbbbbbbbbbbbbbbbbbbbbbb samsung SM-G950U1      5 mins       2       3 Starting             eeeeeeeeeeeeeeeeeeeeeeee
cccccccccccccccccccccccc samsung SM-G950U1      2 mins       8       2 Completed            ffffffffffffffffffffffff

mesmer crawl wait

This will block until the given crawl exits.

# Wait for a crawl to complete
$ mesmer crawl wait $crawl_id
 ⠹  Waiting for crawl to complete...  (8 screens discovered)
 ✓  Crawl complete

mesmer crawl browse

This will pop open the crawl results in a web browser. Some things just better suited with a GUI.

$ mesmer crawl browse $crawl_id
https://$tenant/home/$project/app-map/$crawl