diff --git a/.circleci/config.yml b/.circleci/config.yml index 15334a6e1a618a..2c857295e0cf51 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -794,7 +794,7 @@ jobs: name: Run E2E tests command: | cd packages/rn-tester-e2e - yarn test-ios-e2e + yarn test-e2e ios # ------------------------- # JOBS: Android E2E Tests @@ -853,7 +853,7 @@ jobs: name: Run E2E tests command: | cd packages/rn-tester-e2e - yarn test-android-e2e + yarn test-e2e android # ------------------------- # JOBS: Test Android # ------------------------- diff --git a/packages/rn-tester-e2e/README.md b/packages/rn-tester-e2e/README.md index d8c300f96a8190..4f3a1b5059cbd1 100644 --- a/packages/rn-tester-e2e/README.md +++ b/packages/rn-tester-e2e/README.md @@ -105,8 +105,8 @@ Now, make sure that the iOS simulator/the Android emulator is up and running. Finally, you can open a third terminal window and run: ```bash -yarn test-android-e2e # for android -yarn test-ios-e2e # for ios +yarn test-e2e android # for android +yarn test-e2e ios # for ios ``` Now you should see the RNTester app being open, and the defined test being run. diff --git a/packages/rn-tester-e2e/package.json b/packages/rn-tester-e2e/package.json index ef151436a0efca..7317726da2a734 100644 --- a/packages/rn-tester-e2e/package.json +++ b/packages/rn-tester-e2e/package.json @@ -11,9 +11,7 @@ "directory": "packages/rn-tester-e2e" }, "scripts": { - "test": "jest --runInBand", - "test-android-e2e": "E2E_DEVICE=\"android\" yarn test", - "test-ios-e2e": "E2E_DEVICE=\"ios\" yarn test" + "test-e2e": "node ./../../scripts/e2e/run-e2e-tests.js" }, "devDependencies": { "appium": "^2.0.0", diff --git a/scripts/e2e/run-e2e-tests.js b/scripts/e2e/run-e2e-tests.js new file mode 100644 index 00000000000000..1adac2f6f19104 --- /dev/null +++ b/scripts/e2e/run-e2e-tests.js @@ -0,0 +1,9 @@ +const SUPPORTED_PLATFORMS = ['ios', 'android']; + +if (process.argv.length !== 3 || !SUPPORTED_PLATFORMS.includes(process.argv[2])) { + throw new Error(`Invalid platform. Supported platforms are: ${SUPPORTED_PLATFORMS.join(', ')}`); +} + +const platform = process.argv[2]; +const { execSync } = require('child_process'); +execSync(`E2E_DEVICE=${platform} jest --runInBand`, { stdio: 'inherit' });