Hello,
I am trying to execute xk6 test using docker with headless mode false, my OS is Windows 10 Pro , I run the last example test on Observing "GoError: launching browser: exec: no command while running browser tests on docker
It worked fine with “headless: true” , but I got error when changing to false
time="2023-01-25T09:57:51Z" level=error msg="GoError: launching browser: Missing X server or $DISPLAY\n\tat reflect.methodValueCall (native)\n\tat file:///-:9:34(8)\n\tat native\n" executor=per-vu-iterations scenario=default source=stacktrace
JS script
import { sleep } from 'k6';
import { chromium } from 'k6/x/browser';
import { Counter, Rate, Trend } from "k6/metrics";
//let timeToFirstByte = new Trend("time_to_first_byte", true);
export default function () {
const browser = chromium.launch({
headless: false, // false if you wish to view the browser
slowMo: '500ms',
});
const context = browser.newContext();
const page = context.newPage();
page.goto('https://test.k6.io/').then(() => {
const elem = page.$('a[href="/my_messages.php"]');
page.screenshot({ path: `example-chromium.png` });
elem.click();
sleep(1)
page.screenshot({ path: `example-chromium1.png` });
sleep(10);
}).finally(() => {
page.close();
browser.close();
})
}
Docker file
FROM golang:1.19-bullseye as builder
RUN go install -trimpath go.k6.io/xk6/cmd/xk6@latest
RUN xk6 build --output "/tmp/k6" --with github.com/grafana/xk6-browser
FROM debian:bullseye
RUN apt-get update && \
apt-get install -y chromium
COPY --from=builder /tmp/k6 /usr/bin/k6
ENV XK6_HEADLESS=false
ENTRYPOINT ["k6"]
Docker compose yml:
version: '3.4'
services:
xk6-browser:
build: .
Could you please help me with this error ?