From d49b93dc7e77962c143e4798344c8e35ab8a637e Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 13 May 2024 08:43:13 -0700 Subject: Replace e2e tests with Maestro (#3983) * Setup maestro tests and convert some initial tests * Remove detox * Replace all tests with maestro --- docs/build.md | 9 +-------- docs/testing.md | 14 ++++++++++---- 2 files changed, 11 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/build.md b/docs/build.md index deab91a5b..88733d3b0 100644 --- a/docs/build.md +++ b/docs/build.md @@ -16,10 +16,6 @@ - Add `eval "$(rbenv init - zsh)"` to your `~/.zshrc` - From inside the project directory: - `bundler install` (this will install Cocoapods) -- Setup your environment [for e2e testing using detox](https://wix.github.io/Detox/docs/introduction/getting-started): - - `yarn global add detox-cli` - - `brew tap wix/brew` - - `brew install applesimutils` - After initial setup: - Copy `google-services.json.example` to `google-services.json` or provide your own `google-services.json`. (A real firebase project is NOT required) - `npx expo prebuild` -> you will also need to run this anytime `app.json` or native `package.json` deps change @@ -120,10 +116,7 @@ To open the [Developer Menu](https://docs.expo.dev/debugging/tools/#developer-me ### Running E2E Tests -- Make sure you've set your environment following the above -- Make sure Metro and the dev server are running -- Run `yarn e2e` -- Find the artifacts in the `artifact` folder +See [testing.md](./testing.md). ### Polyfills diff --git a/docs/testing.md b/docs/testing.md index e9b9445e0..ae0a424fb 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -3,13 +3,19 @@ Make sure you've copied `.env.example` to `.env.test` and provided any required values. -### Using Maestro E2E tests +## Using Maestro + 1. Install Maestro by following [these instructions](https://maestro.mobile.dev/getting-started/installing-maestro). This will help us run the E2E tests. -2. You can write Maestro tests in `__e2e__/maestro` directory by creating a new `.yaml` file or by modifying an existing one. -3. You can also use [Maestro Studio](https://maestro.mobile.dev/getting-started/maestro-studio) which automatically generates commands by recording your actions on the app. Therefore, you can create realistic tests without having to manually write any code. Use the `maestro studio` command to start recording your actions. +2. You can write Maestro tests in `/.maestro/flows/` directory by creating a new `.yml` file or by modifying an existing one. +3. You can also use [Maestro Studio](https://maestro.mobile.dev/getting-started/maestro-studio) which automatically generates commands by recording your actions on the app. Therefore, you can create realistic tests without having to manually write any code. Use the `maestro studio` command to start recording your actions. + +### Running Maestro tests +- In one tab, run `yarn e2e:mock-server` +- In a second tab, run `yarn e2e:metro` +- In a third tab, run `yarn e2e:run` -### Using Flashlight for Performance Testing +## Using Flashlight for Performance Testing 1. Make sure Maestro is installed (optional: only for automated testing) by following the instructions above 2. Install Flashlight by following [these instructions](https://docs.flashlight.dev/) 3. The simplest way to get started is by running `yarn perf:measure` which will run a live preview of the performance test results. You can [see a demo here](https://github.com/bamlab/flashlight/assets/4534323/4038a342-f145-4c3b-8cde-17949bf52612) -- cgit 1.4.1