@@ -9,6 +9,11 @@ RED='\033[0;31m'
99BLUE=' \033[0;34m'
1010NC=' \033[0m' # No Color
1111
12+ # save the current language and set the language to "C"
13+ # we want to have it all in english to be able to parse outputs
14+ OLD_LANG=$LANG
15+ export LANG=C
16+
1217# Look for command line options for:
1318# -c or --config - specify a behat.yml to use
1419# --feature - specify a single feature to run
@@ -143,22 +148,30 @@ then
143148 EXTRA_CAPABILITIES=' "seleniumVersion":"2.53.1","screenResolution":"1920x1080",'
144149fi
145150
151+
152+ if [ " $BROWSER " == " internet explorer" ]
153+ then
154+ EXTRA_CAPABILITIES=' "iedriverVersion": "3.4.0","requiresWindowFocus":true,"screenResolution":"1920x1080",'
155+ fi
156+
146157EXTRA_CAPABILITIES=$EXTRA_CAPABILITIES ' "maxDuration":"3600"'
147158
148159# Set up personalized skeleton
149160OCC=./occ
150161PREVIOUS_SKELETON_DIR=$( $OCC --no-warnings config:system:get skeletondirectory)
151162$OCC config:system:set skeletondirectory --value=" $( pwd) /tests/ui/skeleton" > /dev/null
152163
153- echo " Running tests on '$BROWSER ' ($BROWSER_VERSION ) on $PLATFORM "
164+ TEST_LOG_FILE=$( mktemp)
165+
166+ echo " Running tests on '$BROWSER ' ($BROWSER_VERSION ) on $PLATFORM " | tee $TEST_LOG_FILE
154167export BEHAT_PARAMS=' {"extensions" : {"Behat\\MinkExtension" : {"browser_name": "' $BROWSER ' ", "base_url" : "' $BASE_URL ' ", "selenium2":{"capabilities": {"browser": "' $BROWSER ' ", "version": "' $BROWSER_VERSION ' ", "platform": "' $PLATFORM ' ", "name": "' $TRAVIS_REPO_SLUG ' - ' $TRAVIS_JOB_NUMBER ' ", "extra_capabilities": {' $EXTRA_CAPABILITIES ' }}, "wd_host":"http://' $SAUCE_USERNAME :$SAUCE_ACCESS_KEY ' @localhost:4445/wd/hub"}}}}'
155168export IPV4_URL
156169export IPV6_URL
157170export REMOTE_FED_BASE_URL
158171
159- lib/composer/bin/behat -c $BEHAT_YML $BEHAT_SUITE_OPTION $BEHAT_TAG_OPTION $BEHAT_TAGS $BEHAT_FEATURE -v
172+ lib/composer/bin/behat -c $BEHAT_YML $BEHAT_SUITE_OPTION $BEHAT_TAG_OPTION $BEHAT_TAGS $BEHAT_FEATURE -v 2>&1 | tee -a $TEST_LOG_FILE
160173
161- if [ $? -eq 0 ]
174+ if [ ${PIPESTATUS[0]} -eq 0 ]
162175then
163176 PASSED=true
164177else
179192 else
180193 echo " "
181194 echo " The following tests were skipped because they are tagged @skip:"
182- cat " $DRY_RUN_FILE "
195+ cat " $DRY_RUN_FILE " | tee -a $TEST_LOG_FILE
183196 fi
184197 rm -f " $DRY_RUN_FILE "
185198fi
194207if [ ! -z " $SAUCE_USERNAME " ] && [ ! -z " $SAUCE_ACCESS_KEY " ] && [ -e /tmp/saucelabs_sessionid ]
195208then
196209 SAUCELABS_SESSIONID=` cat /tmp/saucelabs_sessionid`
197- curl -X PUT -s -d " {\" passed\" : $PASSED }" -u $SAUCE_USERNAME :$SAUCE_ACCESS_KEY https://saucelabs.com/rest/v1/$SAUCE_USERNAME /jobs/$SAUCELABS_SESSIONID
210+ curl -X PUT -s -d " {\" passed\" : $PASSED }" -u $SAUCE_USERNAME :$SAUCE_ACCESS_KEY https://saucelabs.com/rest/v1/$SAUCE_USERNAME /jobs/$SAUCELABS_SESSIONID 2>&1 | tee -a $TEST_LOG_FILE
211+
212+ printf " \n${RED} SAUCELABS RESULTS:${BLUE} https://saucelabs.com/jobs/$SAUCELABS_SESSIONID \n${NC} " | tee -a $TEST_LOG_FILE
213+ fi
198214
199- printf " \n${RED} SAUCELABS RESULTS:${BLUE} https://saucelabs.com/jobs/$SAUCELABS_SESSIONID \n${NC} "
215+ # upload log file for later analysis
216+ if [ " $PASSED " = false ] && [ ! -z " $REPORTING_WEBDAV_USER " ] && [ ! -z " $REPORTING_WEBDAV_PWD " ] && [ ! -z " $REPORTING_WEBDAV_URL " ]
217+ then
218+ curl -u $REPORTING_WEBDAV_USER :$REPORTING_WEBDAV_PWD -T $TEST_LOG_FILE $REPORTING_WEBDAV_URL /" $TRAVIS_JOB_NUMBER " _` date " +%F_%T" ` .log
200219fi
201220
221+ # reset the original language
222+ export LANG=$OLD_LANG
223+
224+ rm -f " $TEST_LOG_FILE "
225+
202226if [ " $PASSED " = true ]
203227then
204228 exit 0
0 commit comments