Skip to content

Commit a905ebd

Browse files
Fixes failing CI tests (#428)
Upgrades tests to Node 8. Upgrades protractor to the latest version. Switches from phantomjs to headless chrome. Adds various new timeout durations to decrease likelihood of failure. Adds new criteria for test retry, though this needs more confirmation.
1 parent 0e445f3 commit a905ebd

File tree

6 files changed

+263
-273
lines changed

6 files changed

+263
-273
lines changed

.travis.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
language: node_js
22
node_js:
3-
- '6'
3+
- '8'
44
install: npm install
55
script: npm test -- --saucelabs
66
before_install:
7+
- export CHROME_BIN=/usr/bin/google-chrome
8+
- export DISPLAY=:99.0
9+
- sh -e /etc/init.d/xvfb start
10+
- sudo apt-get update
11+
- sudo apt-get install -y libappindicator1 fonts-liberation
12+
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
13+
- sudo dpkg -i google-chrome*.deb
714
- unset _JAVA_OPTIONS
815
addons:
916
sauce_connect: true

buildtools/run_tests.sh

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,21 @@
4848
# Travis will run `npm test -- --saucelabs`.
4949

5050
cd "$(dirname $(dirname "$0"))"
51+
BIN_PATH="./node_modules/.bin"
52+
PROTRACTOR_BIN_PATH="./node_modules/protractor/bin"
5153

5254
function killServer () {
5355
if [ "$seleniumStarted" = true ]; then
5456
echo "Stopping Selenium..."
55-
./node_modules/.bin/webdriver-manager shutdown
56-
./node_modules/.bin/webdriver-manager clean
57+
$PROTRACTOR_BIN_PATH/webdriver-manager shutdown
58+
$PROTRACTOR_BIN_PATH/webdriver-manager clean
5759
fi
5860
echo "Killing HTTP Server..."
5961
kill $serverPid
6062
}
6163

6264
# Start the local webserver.
63-
./node_modules/.bin/gulp serve &
65+
$BIN_PATH/gulp serve &
6466
serverPid=$!
6567
echo "Local HTTP Server started with PID $serverPid."
6668

@@ -73,16 +75,18 @@ if [[ $1 = "--saucelabs" ]]; then
7375
sleep 2
7476
echo "Using SauceLabs."
7577
# $2 contains the tunnelIdentifier argument if specified, otherwise is empty.
76-
./node_modules/.bin/protractor protractor.conf.js --saucelabs $2
78+
$PROTRACTOR_BIN_PATH/protractor protractor.conf.js --saucelabs $2
7779
else
78-
echo "Using PhantomJS."
80+
echo "Using Headless Chrome."
7981
# Updates Selenium Webdriver.
80-
./node_modules/.bin/webdriver-manager update
82+
echo "$PROTRACTOR_BIN_PATH/webdriver-manager update --gecko=false"
83+
$PROTRACTOR_BIN_PATH/webdriver-manager update --gecko=false
8184
# Start Selenium Webdriver.
82-
./node_modules/.bin/webdriver-manager start &>/dev/null &
85+
echo "$PROTRACTOR_BIN_PATH/webdriver-manager start &>/dev/null &"
86+
$PROTRACTOR_BIN_PATH/webdriver-manager start &>/dev/null &
8387
seleniumStarted=true
8488
echo "Selenium Server started."
8589
# Wait for servers to come up.
8690
sleep 10
87-
./node_modules/.bin/protractor protractor.conf.js
91+
$PROTRACTOR_BIN_PATH/protractor protractor.conf.js
8892
fi

0 commit comments

Comments
 (0)