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"
command: |
cd apps/remixdesktop/
yarn run build:e2e && yarn run test:app:linux
yarn run build:e2e && yarn run test
build-remixdesktop-linux:
machine:
@ -267,7 +267,7 @@ jobs:
cd "apps/remixdesktop/"
yarn -v
sleep 15
yarn run test:app:win
yarn run test
shell: powershell.exe
# see https://docs.digicert.com/en/software-trust-manager/ci-cd-integrations/script-integrations/github-integration-ksp.html
sign-remixdesktop-windows:
@ -507,7 +507,7 @@ jobs:
command: |
nvm use 20
cd apps/remixdesktop
yarn run test:app:mac
yarn run test
uploadartifacts:
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",
"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",
"test:app:linuxlocal": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js --env=linuxlocal",
"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",
"test": "yarn run build:e2e && nightwatch --config build-e2e/remixdesktop/test/nighwatch.app.js",
"build:e2e": "tsc -p tsconfig.e2e.json"
},
"devDependencies": {

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

Loading…
Cancel
Save