Skip to content

Commit d72afc9

Browse files
authored
Merge pull request #2065 from RedisInsight/e2e/feature/RI-3522_update-testcafe-browser-provider-electron
E2e/feature/ri 3522 update testcafe browser provider electron
2 parents 3b57c1d + f8124b5 commit d72afc9

File tree

6 files changed

+77
-38
lines changed

6 files changed

+77
-38
lines changed

.circleci/config.yml

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -949,12 +949,31 @@ workflows:
949949
name: Build docker image
950950
requires:
951951
- Start E2E Tests
952+
# build desktop app
953+
# - setup-sign-certificates:
954+
# name: Setup sign certificates (stage)
955+
# requires:
956+
# - Start E2E Tests
957+
# - setup-build:
958+
# name: Setup build (stage)
959+
# requires:
960+
# - Setup sign certificates (stage)
961+
# - windows:
962+
# name: Build app - Windows (stage)
963+
# requires:
964+
# - Setup build (stage)
952965
- e2e-tests:
953966
name: E2ETest
954967
build: docker
955968
parallelism: 4
956969
requires:
957970
- Build docker image
971+
# - e2e-exe:
972+
# name: E2ETest (exe)
973+
# parallelism: 1
974+
# report: true
975+
# requires:
976+
# - Build app - Windows (stage)
958977
# Workflow for feature, bugfix, main branches
959978
feature-main-branch:
960979
jobs:
@@ -1220,20 +1239,20 @@ workflows:
12201239
- docker:
12211240
name: Build docker image
12221241
# build desktop app
1223-
- setup-sign-certificates:
1224-
name: Setup sign certificates (stage)
1225-
- setup-build:
1226-
name: Setup build (stage)
1227-
requires:
1228-
- Setup sign certificates (stage)
1229-
- linux:
1230-
name: Build app - Linux (stage)
1231-
requires:
1232-
- Setup build (stage)
1233-
# - windows:
1234-
# name: Build app - Windows (stage)
1235-
# requires:
1236-
# - Setup build (stage)
1242+
# - setup-sign-certificates:
1243+
# name: Setup sign certificates (stage)
1244+
# - setup-build:
1245+
# name: Setup build (stage)
1246+
# requires:
1247+
# - Setup sign certificates (stage)
1248+
# - linux:
1249+
# name: Build app - Linux (stage)
1250+
# requires:
1251+
# - Setup build (stage)
1252+
# - windows:
1253+
# name: Build app - Windows (stage)
1254+
# requires:
1255+
# - Setup build (stage)
12371256
# integration tests on docker image build
12381257
- integration-tests-run:
12391258
matrix:

tests/e2e/desktop.runner.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ import testcafe from 'testcafe';
55
.then(t => {
66
return t
77
.createRunner()
8+
.compilerOptions({
9+
"typescript": {
10+
configPath: 'tsconfig.testcafe.json',
11+
experimentalDecorators: true
12+
}})
813
.src((process.env.TEST_FILES || 'tests/**/*.e2e.ts').split('\n'))
914
.browsers(['electron'])
1015
.filter((_testName, _fixtureName, _fixturePath, testMeta): boolean => {
11-
return testMeta.env !== 'web'
16+
return testMeta.env == 'desktop'
1217
})
1318
.screenshots({
1419
path: 'report/screenshots/',
1520
takeOnFails: true,
16-
pathPattern: '${USERAGENT}/${DATE}_${TIME}/${FIXTURE}_${TEST_INDEX}.png',
21+
pathPattern: '${USERAGENT}/${DATE}_${TIME}/${FIXTURE}_${FILE_INDEX}.png',
1722
})
1823
.reporter([
1924
'spec',
@@ -24,11 +29,17 @@ import testcafe from 'testcafe';
2429
{
2530
name: 'json',
2631
output: './results/e2e.results.json'
32+
},
33+
{
34+
name: 'html',
35+
output: './report/report.html'
2736
}
2837
])
2938
.run({
3039
skipJsErrors: true,
3140
browserInitTimeout: 60000,
41+
selectorTimeout: 5000,
42+
assertionTimeout: 5000,
3243
speed: 1,
3344
});
3445
})

tests/e2e/desktop.runner.win.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ import testcafe from 'testcafe';
55
.then(t => {
66
return t
77
.createRunner()
8+
.compilerOptions({
9+
"typescript": {
10+
configPath: 'tsconfig.testcafe.json',
11+
experimentalDecorators: true
12+
}})
813
.src((process.env.TEST_FILES || 'tests/**/*.e2e.ts').split('\n'))
914
.browsers(['electron'])
1015
.filter((_testName, _fixtureName, _fixturePath, testMeta): boolean => {
11-
return testMeta.env !== 'web' && testMeta.rte === 'standalone';
16+
return testMeta.env == 'desktop' && testMeta.rte === 'standalone';
1217
})
1318
.screenshots({
1419
path: 'report/screenshots/',
1520
takeOnFails: true,
16-
pathPattern: '${USERAGENT}/${DATE}_${TIME}/${FIXTURE}_${TEST_INDEX}.png',
21+
pathPattern: '${USERAGENT}/${DATE}_${TIME}/${FIXTURE}_${FILE_INDEX}.png',
1722
})
1823
.reporter([
1924
'spec',
@@ -24,12 +29,18 @@ import testcafe from 'testcafe';
2429
{
2530
name: 'json',
2631
output: './results/e2e.results.json'
32+
},
33+
{
34+
name: 'html',
35+
output: './report/report.html'
2736
}
2837
])
2938
.run({
3039
skipJsErrors: true,
3140
browserInitTimeout: 60000,
32-
speed: 1
41+
selectorTimeout: 5000,
42+
assertionTimeout: 5000,
43+
speed: 1,
3344
});
3445
})
3546
.then((failedCount) => {

tests/e2e/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"lint": "eslint . --ext .ts,.js,.tsx,.jsx",
1919
"test:desktop:ci": "ts-node ./desktop.runner.ts",
2020
"test:desktop:ci:win": "ts-node ./desktop.runner.win.ts",
21-
"test:desktop": "testcafe electron tests/ --browser-init-timeout 180000 -e -r html:./report/desktop-report.html,spec -s takeOnFails=true,path=report/screenshots,pathPattern=${OS}_${BROWSER}/${DATE}_${TIME}/${FIXTURE}_${TEST}_${FILE_INDEX}.png"
21+
"test:desktop": "testcafe electron tests/ --compiler-options typescript.configPath=tsconfig.testcafe.json --browser-init-timeout 180000 -e -r html:./report/desktop-report.html,spec -s takeOnFails=true,path=report/screenshots,pathPattern=${OS}_${BROWSER}/${DATE}_${TIME}/${FIXTURE}_${TEST}_${FILE_INDEX}.png"
2222
},
2323
"keywords": [],
2424
"author": "",
@@ -45,7 +45,7 @@
4545
"sqlite3": "5.0.10",
4646
"supertest": "^4.0.2",
4747
"testcafe": "1.14.2",
48-
"testcafe-browser-provider-electron": "0.0.18",
48+
"testcafe-browser-provider-electron": "0.0.19",
4949
"testcafe-reporter-html": "1.4.6",
5050
"testcafe-reporter-json": "2.2.0",
5151
"testcafe-reporter-spec": "2.1.1",

tests/e2e/web.runner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import testcafe from 'testcafe';
4141
selectorTimeout: 5000,
4242
assertionTimeout: 5000,
4343
speed: 1,
44-
quarantineMode: { successThreshold: '1', attemptLimit: '3' }
44+
quarantineMode: { successThreshold: '1', attemptLimit: '3' },
4545
});
4646
})
4747
.then((failedCount) => {

tests/e2e/yarn.lock

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,13 +1933,13 @@ chrome-remote-interface@^0.25.3:
19331933
commander "2.11.x"
19341934
ws "3.3.x"
19351935

1936-
chrome-remote-interface@^0.27.0:
1937-
version "0.27.2"
1938-
resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.27.2.tgz#e5605605f092b7ef8575d95304e004039c9d0ab9"
1939-
integrity sha512-pVLljQ29SAx8KIv5tSa9sIf8GrEsAZdPJoeWOmY3/nrIzFmE+EryNNHvDkddGod0cmAFTv+GmPG0uvzxi2NWsA==
1936+
chrome-remote-interface@^0.31.3:
1937+
version "0.31.3"
1938+
resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.31.3.tgz#bd01b89f5f0e968f7eeb37b8b7c5ac20e6e1f4d0"
1939+
integrity sha512-NTwb1YNPHXLTus1RjqsLxJmdViKwKJg/lrFEcM6pbyQy04Ow2QKWHXyPpxzwE+dFsJghWuvSAdTy4W0trluz1g==
19401940
dependencies:
19411941
commander "2.11.x"
1942-
ws "^6.1.0"
1942+
ws "^7.2.0"
19431943

19441944
chromium-pickle-js@^0.2.0:
19451945
version "0.2.0"
@@ -5429,13 +5429,13 @@ tar@^6.0.2, tar@^6.1.11, tar@^6.1.2:
54295429
mkdirp "^1.0.3"
54305430
yallist "^4.0.0"
54315431

5432-
5433-
version "0.0.18"
5434-
resolved "https://registry.yarnpkg.com/testcafe-browser-provider-electron/-/testcafe-browser-provider-electron-0.0.18.tgz#c4294a7fefe5006c5eb85c06db9ca620f2ba919b"
5435-
integrity sha512-s2Oz62uMi+FygttEm6Ab+cCgBFdbDhoZmA2Q02jQePYK/cVmn8vFL9MDxqppwIcZeknZCtg33hFNX4MgQndPlA==
5432+
5433+
version "0.0.19"
5434+
resolved "https://registry.yarnpkg.com/testcafe-browser-provider-electron/-/testcafe-browser-provider-electron-0.0.19.tgz#739d0671630c4074e212ca4a23e71e58ef6cc677"
5435+
integrity sha512-ecSf71hRPpT7ezUWwG3eB7l+hn7t2yVXXdu4k+uTn/REa+naBzT0Koa4WiDRug7HsV8QPbA7G87A3fQ8+7PfMA==
54365436
dependencies:
54375437
babel-runtime "^6.25.0"
5438-
chrome-remote-interface "^0.27.0"
5438+
chrome-remote-interface "^0.31.3"
54395439
debug "4.1.1"
54405440
dedent "^0.7.0"
54415441
endpoint-utils "^1.0.2"
@@ -6111,12 +6111,10 @@ [email protected]:
61116111
safe-buffer "~5.1.0"
61126112
ultron "~1.1.0"
61136113

6114-
ws@^6.1.0:
6115-
version "6.2.2"
6116-
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
6117-
integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
6118-
dependencies:
6119-
async-limiter "~1.0.0"
6114+
ws@^7.2.0:
6115+
version "7.5.9"
6116+
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
6117+
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
61206118

61216119
yallist@^3.0.2:
61226120
version "3.1.1"

0 commit comments

Comments
 (0)