I have an issue using resizeWindow from Testcafe inside a docker container while testing an electron app with gitlab.
Note: On local setup (linux) all tests work as expected, but inside the docker container resizeWindow does not seem to work. Other tests inside the container work as well.
Maybe i'm missing any configuration for xvfb or should i use fluxbox?
Any suggestion how to solve this?
Test error with docker:
$ yarn test-e2e-ci
yarn run v1.22.4
$ node -r @babel/register ./internals/scripts/CheckBuildsExist.js && cross-env NODE_ENV=test testcafe electron:./ci ./test/e2e/DockerTest.e2e.ts --screenshots takeOnFails=true
Running tests in:
- Electron 9.0.4 / Linux 0.0
Docker execution
✖ `ResizeWindow` works as expected
1) AssertionError: expected 1024 to deeply equal 100
Browser: Electron 9.0.4 / Linux 0.0
8 |
9 |test('`ResizeWindow` works as expected ', async t => {
10 | await t.resizeWindow(100, 100);
11 | const innerWidth = await t.eval(() => window.innerWidth);
12 | const innerHeight = await t.eval(() => window.innerHeight);
> 13 | await t.expect(innerWidth).eql(100);
14 | await t.expect(innerHeight).eql(100);
15 |});
16 |
at <anonymous>
(/builds/myFancyProject/test/e2e/DockerTest.e2e.ts:13:30)
at fulfilled
(/builds/myFancyProject/test/e2e/DockerTest.e2e.ts:5:58)
1/1 failed (8s)
Warnings:
Warnings (3):
--
Was unable to resize the window due to an error.
The
/builds/myFancyProject/node_modules/testcafe-browser-tools/bin/linux/glibc-64/resize
process failed with the null exit code.
--
Used Test setup:
ResizeWindow Testcafe test
test('`ResizeWindow` works as expected ', async t => {
await t.resizeWindow(100, 100);
const innerWidth = await t.eval(() => window.innerWidth);
const innerHeight = await t.eval(() => window.innerHeight);
await t.expect(innerWidth).eql(100);
await t.expect(innerHeight).eql(100);
});
Start up inside gitlab yml
- xvfb-run --server-num=99 --server-args='-ac -screen 0 1024x768x16' yarn test-e2e-ci
package.json
"test-e2e-ci": "node -r @babel/register ./internals/scripts/CheckBuildsExist.js && cross-env NODE_ENV=test testcafe electron:./ci ./test/e2e/ --screenshots takeOnFails=true",
./ci/.testcafe-electron-rc
{
"mainWindowUrl": "../app/app.html",
"appPath": "../app",
"appArgs": "--no-sandbox"
}
Tested docker images:
circleci/node:latest-browsers
FROM node:lts-stretch
RUN apt-get update \
&& apt-get install -y xvfb \
libnotify4 \
libgconf2-4 \
libnss3 \
libxtst-dev \
libc6 \
libstdc++6 \
libgcc1 \
libgtk-3-0 \
libasound2 \
libxrender1 \
libxss1
Aucun commentaire:
Enregistrer un commentaire