Markdown linting for e2e README (#2173)
* Markdown linting for e2e README * Running a subset of tests
This commit is contained in:
parent
ec7417c29c
commit
1fa1ddd89f
|
@ -1,17 +1,24 @@
|
||||||
### Contents:
|
# e2e Testing
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
1. [Prepare test environment](##-1.-Prepare-test-environment)
|
1. [Prepare test environment](##-1.-Prepare-test-environment)
|
||||||
2. [Prepare test data](##-2.-Prepare-test-data)
|
2. [Prepare test data](##-2.-Prepare-test-data)
|
||||||
3. [Running tests](##-3.-Running-tests)
|
3. [Running tests](##-3.-Running-tests)
|
||||||
4. [FAQ](##-FAQ)
|
4. [FAQ](##-FAQ)
|
||||||
|
|
||||||
### 1. Prepare test environment
|
### 1. Prepare test environment
|
||||||
##### 1.1. Set up local Rocket Chat server
|
|
||||||
|
#### 1.1. Set up local Rocket Chat server
|
||||||
|
|
||||||
* Install Rocket Chat meteor app by following this [guide](https://rocket.chat/docs/developer-guides/quick-start).
|
* Install Rocket Chat meteor app by following this [guide](https://rocket.chat/docs/developer-guides/quick-start).
|
||||||
|
|
||||||
##### 1.2. Set up detox
|
#### 1.2. Set up detox
|
||||||
|
|
||||||
* Install dependencies by following this [guide](https://github.com/wix/Detox/blob/master/docs/Introduction.GettingStarted.md#step-1-install-dependencies) (only Step 1).
|
* Install dependencies by following this [guide](https://github.com/wix/Detox/blob/master/docs/Introduction.GettingStarted.md#step-1-install-dependencies) (only Step 1).
|
||||||
|
|
||||||
### 2. Prepare test data
|
### 2. Prepare test data
|
||||||
|
|
||||||
* Run Rocket Chat meteor app: `meteor npm start` (make sure you to run this command from project that you created on Step 1.1.).
|
* Run Rocket Chat meteor app: `meteor npm start` (make sure you to run this command from project that you created on Step 1.1.).
|
||||||
* Open `localhost:3000` in browser.
|
* Open `localhost:3000` in browser.
|
||||||
* Sign up as admin.
|
* Sign up as admin.
|
||||||
|
@ -19,23 +26,34 @@
|
||||||
* Create user with role: `user`, username: `detoxrn`, email: `YOUR@EMAIL.COM`, password: `123`.
|
* Create user with role: `user`, username: `detoxrn`, email: `YOUR@EMAIL.COM`, password: `123`.
|
||||||
* Create user with role: `user`, username: `YOUR.NAME`, email: `YOUR.SECOND@EMAIL.COM`, password: `123`.
|
* Create user with role: `user`, username: `YOUR.NAME`, email: `YOUR.SECOND@EMAIL.COM`, password: `123`.
|
||||||
* In file `e2e/data.js` change values `existingEmail` with `YOUR.SECOND@EMAIL.COM`, `existingName` with `YOUR.NAME`.
|
* In file `e2e/data.js` change values `existingEmail` with `YOUR.SECOND@EMAIL.COM`, `existingName` with `YOUR.NAME`.
|
||||||
* Login as user `detoxrn` -> open My Account -> Settings tab -> click Enable 2FA -> copy TTOLP code -> paste TTOLP code into `./e2e/data.js` file into field: `alternateUserTOTPSecret`.
|
* Login as user `detoxrn` -> open My Account -> Security tab -> click "Enable two-factor authentication" -> copy TTOLP code -> paste TTOLP code into `./e2e/data.js` file into field: `alternateUserTOTPSecret`.
|
||||||
|
|
||||||
### 3. Running tests
|
### 3. Running tests
|
||||||
|
|
||||||
#### 3.1. iOS
|
#### 3.1. iOS
|
||||||
|
|
||||||
* Build app with detox: `detox build -c ios.sim.release`
|
* Build app with detox: `detox build -c ios.sim.release`
|
||||||
* Open Simulator which is used in tests (check in package.json under detox section) from Xcode and make sure that software keyboard is being displayed. To toggle keyboard press `cmd+K`.
|
* Open Simulator which is used in tests (check in package.json under detox section) from Xcode and make sure that software keyboard is being displayed. To toggle keyboard press `cmd+K`.
|
||||||
* Run tests: `detox test -c ios.sim.release`
|
* Run tests: `detox test -c ios.sim.release`
|
||||||
|
|
||||||
#### 3.1. Android
|
#### 3.2. Android
|
||||||
|
|
||||||
* Build app with detox: `detox build -c android.emu.debug`
|
* Build app with detox: `detox build -c android.emu.debug`
|
||||||
* Run: `react-native start`
|
* Run: `react-native start`
|
||||||
* Run Android emulator with name `ANDROID_API_28` via Android studio or `cd /Users/USERNAME/Library/Android/sdk/emulator/ && ./emulator -avd ANDROID_API_28`
|
* Run Android emulator with name `ANDROID_API_28` via Android studio or `cd /Users/USERNAME/Library/Android/sdk/emulator/ && ./emulator -avd ANDROID_API_28`
|
||||||
Note: if you need to run tests on different Android emulator then simply change emulator name in ./package.json detox configurations
|
Note: if you need to run tests on different Android emulator then simply change emulator name in ./package.json detox configurations
|
||||||
* Run tests: `detox test -c android.emu.debug`
|
* Run tests: `detox test -c android.emu.debug`
|
||||||
|
|
||||||
|
#### 3.3 Running a subset of tests
|
||||||
|
|
||||||
|
Tests have been grouped into subfolders. You can choose to run just one group of tests by running, for example:
|
||||||
|
|
||||||
|
`detox test ./e2e/tests/onboarding -c ios.sim.release`
|
||||||
|
|
||||||
### 4. FAQ
|
### 4. FAQ
|
||||||
|
|
||||||
#### 4.1. Detox build fails
|
#### 4.1. Detox build fails
|
||||||
|
|
||||||
* Delete `node_modules`, `ios/build`, `android/build`:
|
* Delete `node_modules`, `ios/build`, `android/build`:
|
||||||
`rm -rf node_modules && rm -rf ios/build && rm -rf android/build`
|
`rm -rf node_modules && rm -rf ios/build && rm -rf android/build`
|
||||||
* Install packages: `yarn install`
|
* Install packages: `yarn install`
|
||||||
|
@ -45,8 +63,8 @@ Note: if you need to run tests on different Android emulator then simply change
|
||||||
* Now try building again with `detox build` (with specific configuration).
|
* Now try building again with `detox build` (with specific configuration).
|
||||||
|
|
||||||
#### 4.2. Detox iOS test run fails
|
#### 4.2. Detox iOS test run fails
|
||||||
|
|
||||||
* Check if your meteor app is running by opening `localhost:3000` in browser.
|
* Check if your meteor app is running by opening `localhost:3000` in browser.
|
||||||
* Make sure software keyboard is displayed in simulator when focusing some input. To enable keyboard press `cmd+K`.
|
* Make sure software keyboard is displayed in simulator when focusing some input. To enable keyboard press `cmd+K`.
|
||||||
* Make sure you have prepared all [test data](##-2.-Prepare-test-data).
|
* Make sure you have prepared all [test data](##-2.-Prepare-test-data).
|
||||||
* Sometimes detox e2e tests fail for no reason so all you can do is simply re-run again.
|
* Sometimes detox e2e tests fail for no reason so all you can do is simply re-run again.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue