Tôi là một người mới trong một container docker. Tôi đang cố gắng tạo một tệp docker có npm, nút js, chromedriver và Selenium-chromedriver và chạy tệp javascript của tôi. Ở địa phương của tôi, tôi chạy tập lệnh trong trình duyệt chrome không đầu.
Đây là tập tin docker của tôi.
TỪ nút:17.2.0
NGƯỜI DÙNG gốc
WORKDIR /nhà/ứng dụng
CHẠY bản cập nhật apt-get
CHẠY cài đặt apt-get git --yes
# Cài đặt Google Chrome
CHẠY apt-get cài đặt wget
CHẠY wget https://dl.google.com/linux/direct/google-chrome-stable_current_AMD64.deb
CHẠY cài đặt apt-get ./google-chrome*.deb --yes
#TỪ nút:14.18.0
#TỪ nút:17.2.0
#USER gốc
ENV NODE_ENV=sản xuất
WORKDIR/LoadTesting
SAO CHÉP ["/LoadTesting/package.json", "."]
CHẠY cài đặt npm
CHẠY npm ci
CHẠY npm cài đặt nodejs
CHẠY npm cài đặt mocha -g
CHẠY npm install chromedriver -g --unsafe-perm
CHẠY npm cài đặt Selenium-webdriver
SAO CHÉP/LoadTesting.
SAO CHÉP/LoadTesting/kiểm tra.
CMD ["nút", "./test/script.js"]
sau đây là tập tin soạn thảo docker của tôi
phiên bản: '3.7'
dịch vụ:
k6:
hình ảnh: "loadimpact/k6:0.32.0"
khối lượng:
- "./loadtesting:/scripts"
nút js:
xây dựng:
bối cảnh: ./
dockerfile: k6-nodejs-dockerfile
khối lượng:
- '.loadtesting:/loadtesting'
khối lượng:
lưu trữ grafana:
dữ liệu prometheus:
bên ngoài: đúng
Sau đó, tôi sử dụng các lệnh sau
docker soạn bản dựng // không có lỗi
docker soạn k6 nodejs
Sau đó, tôi nhận được lỗi sau.
/LoadTesting/node_modules/Selenium-webdriver/lib/error.js:517
-nodejs-1 | hãy để err = ctor mới (data.message)
-nodejs-1 | ^
-nodejs-1 |
-nodejs-1 | WebDriverError: lỗi không xác định: Chrome không khởi động được: thoát bất thường.
-nodejs-1 | (lỗi không xác định: tệp DevToolsActivePort không tồn tại)
-nodejs-1 | (Quá trình bắt đầu từ vị trí chrome /usr/bin/google-chrome không còn chạy nữa, vì vậy ChromeDriver giả định rằng Chrome đã gặp sự cố.)
-nodejs-1 | tại Object.throwDecodedError (/LoadTesting/node_modules/Selenium-webdriver/lib/error.js:517:15)
-nodejs-1 | tại parseHttpResponse (/LoadTesting/node_modules/Selenium-webdriver/lib/http.js:643:13)
-nodejs-1 | tại Executor.execute (/LoadTesting/node_modules/Selenium-webdriver/lib/http.js:569:28)
-nodejs-1 | tại processTicksAndRejections (node:internal/process/task_queues:96:5) {
-nodejs-1 | remoteStacktrace: '#0 0x55d05197cee3 <unknown>\n' +
-nodejs-1 | '#1 0x55d05144a608 <không xác định>\n' +
-nodejs-1 | '#2 0x55d05146d8ef <không xác định>\n' +
-nodejs-1 | '#3 0x55d05146946f <không xác định>\n' +
-nodejs-1 | '#4 0x55d0514a3f45 <không xác định>\n' +
-nodejs-1 | '#5 0x55d05149e163 <không xác định>\n' +
-nodejs-1 | '#6 0x55d051473bfc <không xác định>\n' +
-nodejs-1 | '#7 0x55d051474c05 <không xác định>\n' +
-nodejs-1 | '#8 0x55d0519aebaa <không xác định>\n' +
-nodejs-1 | '#9 0x55d0519c4651 <không xác định>\n' +
-nodejs-1 | '#10 0x55d0519afb05 <không xác định>\n' +
-nodejs-1 | '#11 0x55d0519c5a68 <không xác định>\n' +
-nodejs-1 | '#12 0x55d0519a405f <không xác định>\n' +
-nodejs-1 | '#13 0x55d0519e0818 <không xác định>\n' +
-nodejs-1 | '#14 0x55d0519e0998 <không xác định>\n' +
-nodejs-1 | '#15 0x55d0519fbeed <không xác định>\n' +
-nodejs-1 | '#16 0x7f46791e2ea7 <không xác định>\n'
-nodejs-1 | }
-nodejs-1 |
Tôi đang thiếu gì? tìm kiếm google đơn giản nói rằng phiên bản google chromer và phiên bản chromedriver của tôi phải khớp. Tôi phải làm nó như thế nào? Tôi không cần một phiên bản cụ thể khi tôi chạy chrome trong trình duyệt chrome không đầu trong tập lệnh của mình.
Xin đề nghị.