Tôi đang cố chạy thử nghiệm song song được viết bằng cách sử dụng nightwatchjs trong Docker bằng Selenium Hub. Tôi có thể nhận được các thử nghiệm để chạy song song trong Docker mà không có Selenium Hub, tuy nhiên, một số tiến trình con sẽ hết thời gian gây ra nhiều lần thử lại. Kết quả rất không nhất quán. Tôi hy vọng sẽ sử dụng Selenium Hub hoặc một cái gì đó tương tự để loại bỏ thời gian chờ và thử lại để kết quả kiểm tra phù hợp hơn, ổn định và không hết thời gian chờ.nightwatchjs chế độ song song selenium hub docker soạn
Tuy nhiên, bây giờ khi tôi chạy docker-compose run --rm nightwatch
, sử dụng mã sau, máy chủ selen sẽ bắt đầu ở chế độ song song và nhiều quy trình con sẽ được bắt đầu, tuy nhiên, chỉ có quy trình đầu tiên sẽ thực thi. Sau đó, các quá trình con khác sẽ nhận được Error retrieving a new session from the selenium server. Connection refused! Is selenium server started?
Tôi thiếu một cái gì đó để có được các bài kiểm tra nightwatchjs để chạy song song mà không có thời gian ra?
nightwatch.conf.js
module.exports = {
src_folders: ['tests'],
output_folder: 'reports',
custom_commands_path: '',
custom_assertions_path: '',
page_objects_path: 'page_objects',
test_workers: true,
live_output: true,
detailed_output: true,
selenium: {
start_process: true,
server_path: './bin/selenium-server-standalone-3.0.1.jar',
log_path: '',
host: '127.0.0.1',
port: 4444,
cli_args: {
'webdriver.chrome.driver' : './node_modules/chromedriver/bin/chromedriver'
}
},
test_settings: {
default: {
launch_url: 'https://example.com',
selenium_port: 4444,
selenium_host: 'hub',
silent: true,
screenshots: {
'enabled': false,
'path': ''
},
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true,
chromeOptions: {
args: [
'--window-size=1024,768',
'--no-sandbox'
]
}
},
globals: {
waitForConditionTimeout: 20000,
asyncHookTimeout: 70000
}
}
};
Docker-compose.yml
version: '2'
services:
nightwatch:
build:
context: .
command: /bin/sh -c "node ./node_modules/nightwatch/bin/nightwatch"
links:
- chrome
- hub
volumes:
- .:/opt/nightwatch
chrome:
environment:
VIRTUAL_HOST: node.chrome.docker
HUB_PORT_4444_TCP_ADDR: hub
HUB_PORT_4444_TCP_PORT: 4444
image: selenium/node-chrome:3.1.0-astatine
links:
- hub
hub:
ports:
- 4444:4444
image: selenium/hub:3.1.0-astatine
Dockerfile
FROM java:8-jre
## Node.js setup
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
RUN npm config set spin false
WORKDIR /app
COPY . ./
RUN npm install
Bạn có thể đăng Dockerfile ban đêm không? –
@BaoTran Tôi đã bao gồm Dockerfile nightwatch. – wwwuser