automatic os tests

pull/4837/head
bunsenstraat 8 months ago
parent 014b5f5ee9
commit 356bf83a9e
  1. 6
      .circleci/config.yml
  2. 8
      apps/remixdesktop/package.json
  3. 121
      apps/remixdesktop/test/nighwatch.app.ts

@ -130,7 +130,7 @@ jobs:
name: "Run tests" name: "Run tests"
command: | command: |
cd apps/remixdesktop/ cd apps/remixdesktop/
yarn run build:e2e && yarn run test:app:linux yarn run build:e2e && yarn run test
build-remixdesktop-linux: build-remixdesktop-linux:
machine: machine:
@ -267,7 +267,7 @@ jobs:
cd "apps/remixdesktop/" cd "apps/remixdesktop/"
yarn -v yarn -v
sleep 15 sleep 15
yarn run test:app:win yarn run test
shell: powershell.exe shell: powershell.exe
# see https://docs.digicert.com/en/software-trust-manager/ci-cd-integrations/script-integrations/github-integration-ksp.html # see https://docs.digicert.com/en/software-trust-manager/ci-cd-integrations/script-integrations/github-integration-ksp.html
sign-remixdesktop-windows: sign-remixdesktop-windows:
@ -507,7 +507,7 @@ jobs:
command: | command: |
nvm use 20 nvm use 20
cd apps/remixdesktop cd apps/remixdesktop
yarn run test:app:mac yarn run test
uploadartifacts: uploadartifacts:
docker: docker:

@ -28,13 +28,7 @@
"installRipGrepMacOXx64": "rm -rf node_modules/@vscode/ripgrep/bin && npm_config_arch=x64 node node_modules/@vscode/ripgrep/lib/postinstall.js", "installRipGrepMacOXx64": "rm -rf node_modules/@vscode/ripgrep/bin && npm_config_arch=x64 node node_modules/@vscode/ripgrep/lib/postinstall.js",
"installRipGrepMacOXarm64": "rm -rf node_modules/@vscode/ripgrep/bin && npm_config_arch=arm64 node node_modules/@vscode/ripgrep/lib/postinstall.js", "installRipGrepMacOXarm64": "rm -rf node_modules/@vscode/ripgrep/bin && npm_config_arch=arm64 node node_modules/@vscode/ripgrep/lib/postinstall.js",
"postinstall": "electron-builder install-app-deps", "postinstall": "electron-builder install-app-deps",
"test:app:linuxlocal": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=linuxlocal", "test": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js",
"test:app:maclocal": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=maclocal",
"test:app:maclocalarm64": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=maclocalarm64",
"test:app:winlocal": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=winlocal",
"test:app:linux": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=linux",
"test:app:mac": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=mac",
"test:app:win": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=win",
"build:e2e": "tsc -p tsconfig.e2e.json" "build:e2e": "tsc -p tsconfig.e2e.json"
}, },
"devDependencies": { "devDependencies": {

@ -1,8 +1,9 @@
const os = require('os');
module.exports = { module.exports = {
src_folders: ['build-e2e/remixdesktop/test/tests/app'], src_folders: ['build-e2e/remixdesktop/test/tests/app'],
output_folder: './reports/tests', output_folder: './reports/tests',
custom_commands_path: ['build-e2e/remix-ide-e2e/src/commands'], custom_commands_path: ['build-e2e/remix-ide-e2e/src/commands'],
custom_assertions_path: '',
page_objects_path: '', page_objects_path: '',
globals_path: '', globals_path: '',
test_settings: { test_settings: {
@ -22,101 +23,41 @@ module.exports = {
webdriver: { webdriver: {
start_process: true, start_process: true,
timeout_options: { timeout_options: {
timeout: 60000, // 15 seconds timeout: 60000,
retry_attempts: 3 retry_attempts: 3
} }
}, },
},
maclocal: {
desiredCapabilities: { desiredCapabilities: {
browserName: 'chrome', browserName: 'chrome',
javascriptEnabled: true, javascriptEnabled: true,
acceptSslCerts: true, acceptSslCerts: true,
'goog:chromeOptions': { 'goog:chromeOptions': (() => {
"binary": "release/mac/Remix-Desktop.app/Contents/MacOS/Remix-Desktop", const type = os.type();
"args": [ const arch = os.arch();
"--e2e-local", let binaryPath = "";
] // Check if running on CircleCI or locally
} let args = process.env.CIRCLECI ? ["--e2e"] : ["--e2e-local"];
}
}, switch (type) {
maclocalarm64: { case 'Windows_NT':
desiredCapabilities: { binaryPath = "./release/win-unpacked/Remix-Desktop.exe";
browserName: 'chrome', break;
javascriptEnabled: true, case 'Darwin':
acceptSslCerts: true, binaryPath = arch === 'x64' ?
'goog:chromeOptions': { "release/mac/Remix-Desktop.app/Contents/MacOS/Remix-Desktop" :
"binary": "release/mac-arm64/Remix-Desktop.app/Contents/MacOS/Remix-Desktop", "release/mac-arm64/Remix-Desktop.app/Contents/MacOS/Remix-Desktop";
"args": [ break;
"--e2e-local", case 'Linux':
] binaryPath = "release/linux-unpacked/remixdesktop";
} break;
} }
},
linuxlocal: { return {
desiredCapabilities: { binary: binaryPath,
browserName: 'chrome', args: args
javascriptEnabled: true, };
acceptSslCerts: true, })()
'goog:chromeOptions': {
"binary": "release/linux-unpacked/remixdesktop",
"args": [
"--e2e-local",
]
}
}
},
linux: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
'goog:chromeOptions': {
"binary": "release/linux-unpacked/remixdesktop",
"args": [
"--e2e",
]
}
}
},
mac: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
'goog:chromeOptions': {
"binary": "release/mac-arm64/Remix-Desktop.app/Contents/MacOS/Remix-Desktop",
"args": [
"--e2e",
]
}
}
},
winlocal: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
'goog:chromeOptions': {
"binary": "./release/win-unpacked/Remix-Desktop.exe",
"args": [
"--e2e-local",
]
}
}
},
win: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
'goog:chromeOptions': {
"binary": "./release/win-unpacked/Remix-Desktop.exe",
"args": [
"--e2e",
]
}
} }
}, }
} }
} };

Loading…
Cancel
Save