Skip to content

Simplifying configuration with multiple profiles #8

@lrowe

Description

@lrowe

For the homepage tests ([svn]/tests/home/four-cucumber/trunk) we've defined multiple profile 'axes' to avoid the combinatorial explosion of profile definitions seen in the cucumber.yml of many frameworks-capybara consumers, e.g. barlesque. This seems to work well for us, maybe it should be promoted in the README / confluence docs?

<%# Cucumber usage:
cucumber -p target-{ENV} [ -p grid-{ENV} ] -p browser-{BROWSER}
 Need to specify at least a target- profile and a browser- profile, e.g.:-
  -p target-test     # Point your tests at the test environment
  -p grid-local      # Use a locally-installed Selenium Grid server
  -p browser-firefox # Run tests in firefox
  -p on-reith        # Enable web proxies
%>

<%# Setup that should be included everywhere %>
standard: PROJECT_NAME="Homepage Cucumber Tests" --format pretty --format html --out=reports/report.html --format junit --out=reports features

on-reith: PROXY_URL=http://www-cache.reith.bbc.co.uk:80 FIREFOX_PROFILE=BBC_INTERNAL

<%# Choose which environment you want to test %>
target-int:     -p standard ENVIRONMENT=int
target-test:    -p standard ENVIRONMENT=test
target-stage:   -p standard ENVIRONMENT=stage
target-live:    -p standard ENVIRONMENT=live
target-sandbox: -p standard ENVIRONMENT=sandbox

<%# Choose a Selenium grid server if you want to use one%>
grid-local:     BROWSER=remote REMOTE_URL=XXX PROXY_ON=false
grid-ci:        BROWSER=remote REMOTE_URL=XXX
grid-saucelabs: BROWSER=remote REMOTE_URL=XXX

<%# Choose a browser to run tests with%>
browser-mechanize: BROWSER=mechanize
browser-ie:        BROWSER=ie REMOTE_BROWSER=ie
browser-firefox:   BROWSER=firefox REMOTE_BROWSER=firefox
browser-chrome:    BROWSER=chrome REMOTE_BROWSER=chrome
browser-opera:     BROWSER=opera REMOTE_BROWSER=opera

<%# Tags to enable%>
no-manual-tests: --tags ~@manual
no-stage-tests:  --tags ~@stage
no-wip-tests:    --tags ~@wip
debug-tests:     --tags @debug

<%# Some default profiles %>
default: -p target-test -p browser-mechanize
ci-mechanize: -p target-test -p no-manual-tests -p no-stage-tests -p no-wip-tests -p browser-mechanize
ci-firefox:  -p target-test -p no-manual-tests -p no-stage-tests -p no-wip-tests -p grid-ci -p browser-firefox

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions