Last active
September 21, 2017 22:13
-
-
Save maroshii/37a60c301a652212c9d488c1cec5f647 to your computer and use it in GitHub Desktop.
Runs a full selenium matrix and run tests with nightwatch. Browsers: chrome, firefox
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELENIUM_VERSION?=3.5.3 | |
LAUNCH_URL?=https://google.com | |
.PHONY: default | |
default: | |
@$(MAKE) run; OK=$$?; $(MAKE) clean; exit $$OK | |
.PHONY: build-test-image | |
build-test-image: | |
@echo "\033[1;33mBuilding E2E test image\033[0m" | |
@docker build -t e2e_tests . | |
@echo "\033[1;92m-- OK\033[0m\n" | |
.PHONY: create-network | |
create-network: | |
@echo "\033[1;33mCreating local network\033[0m" | |
@docker network create --driver bridge e2e_test_network | |
@echo "\033[1;92m-- OK\033[0m\n" | |
.PHONY: start-selenium | |
start-selenium: create-network | |
@echo "\033[1;33mStarting Selenium server\033[0m" | |
@docker run \ | |
-d \ | |
--name selenium \ | |
-P \ | |
--network e2e_test_network \ | |
selenium/hub:$(SELENIUM_VERSION) | |
@sleep 3 && docker logs selenium | |
@echo "\033[1;92m-- OK\033[0m\n" | |
.PHONY: start-chrome-node | |
start-chrome-node: start-selenium | |
@echo "\033[1;33mStarting Chrome node\033[0m" | |
@docker run -d \ | |
--name chrome \ | |
--network e2e_test_network \ | |
-e HUB_PORT_4444_TCP_ADDR=selenium \ | |
-e HUB_PORT_4444_TCP_PORT=4444 \ | |
-e DBUS_SESSION_BUS_ADDRESS=/dev/null \ | |
-v /dev/shm:/dev/shm \ | |
selenium/node-chrome:$(SELENIUM_VERSION) | |
@sleep 3 && docker logs chrome | |
@echo "\033[1;92m-- OK\033[0m\n" | |
.PHONY: start-firefox-node | |
start-firefox-node: start-selenium | |
@echo "\033[1;33mStarting Firefox node\033[0m" | |
@docker run -d \ | |
--name firefox \ | |
--network e2e_test_network \ | |
-e HUB_PORT_4444_TCP_ADDR=selenium \ | |
-e HUB_PORT_4444_TCP_PORT=4444 \ | |
-e DBUS_SESSION_BUS_ADDRESS=/dev/null \ | |
-v /dev/shm:/dev/shm \ | |
selenium/node-firefox:$(SELENIUM_VERSION) | |
@sleep 3 && docker logs firefox | |
@echo "\033[1;92m-- OK\033[0m\n" | |
run: start-firefox-node start-chrome-node | |
@echo "\033[1;33mRunning E2E tests in chrome\033[0m" | |
@docker run \ | |
-t \ | |
--name e2e-test \ | |
--network e2e_test_network \ | |
-e LAUNCH_URL=$(LAUNCH_URL) \ | |
-v `pwd`:/usr/app \ | |
e2e_tests -e chrome,firefox | |
clean: | |
-@docker rm -f selenium chrome firefox e2e-test | |
-@docker network rm e2e_test_network |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
src_folders: ['./tests'], | |
output_folder: './reports', | |
page_objects_path: './tests/pages', | |
live_output: true, | |
selenium: { | |
log_path: './reports', | |
}, | |
test_settings: { | |
default: { | |
silent: true, | |
launch_url: process.env.LAUNCH_URL, | |
selenium_host: 'selenium', | |
desiredCapabilities: { | |
browserName: 'chrome', | |
javascriptEnabled: true, | |
acceptSslCerts: true, | |
}, | |
screenshots: { | |
enabled: true, | |
on_failure: true, | |
path: './reports/screenshots', | |
} | |
}, | |
chrome: { | |
desiredCapabilities: { | |
browserName: 'chrome', | |
chromeOptions: { args: ['disable-web-security', 'start-maximized'] }, | |
}, | |
}, | |
firefox: { | |
desiredCapabilities: { | |
browserName: 'firefox', | |
marionette: true, | |
acceptInsecureCerts: true, | |
}, | |
}, | |
}, | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment