Skip to content

Commit

Permalink
user circle-ci for running browser test
Browse files Browse the repository at this point in the history
  • Loading branch information
yann300 committed Jun 12, 2019
1 parent c1333b5 commit bf1c569
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 57 deletions.
17 changes: 15 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
remix-ide:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2
- image: circleci/node:9.11.2-browsers

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
Expand All @@ -32,7 +32,20 @@ jobs:
key: dep-bundle-29-{{ checksum "package.json" }}
paths:
- ~/repo/node_modules
- run: npm run lint && npm run test && npm run make-mock-compiler && npm run build
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Download Selenium
command: wget http://selenium-release.storage.googleapis.com/3.5/selenium-server-standalone-3.5.3.jar
- run:
name: Download Gecko driver
command: wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz && tar -xzf geckodriver-v0.24.0-linux64.tar.gz
- run:
name: Start Selenium
command: java -Dwebdriver.gecko.driver="geckodriver" -jar selenium-server-standalone-3.5.3.jar
background: true
- run:
name: Fix Firefox testing
command: apt-get purge -y firefox && wget https://sourceforge.net/projects/ubuntuzilla/files/mozilla/apt/pool/main/f/firefox-mozilla-build/firefox-mozilla-build_55.0.1-0ubuntu1_amd64.deb && sudo dpkg -i firefox-mozilla-build_55.0.1-0ubuntu1_amd64.deb
- run: ./ci/browser_tests.sh

workflows:
Expand Down
22 changes: 1 addition & 21 deletions ci/browser_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,34 +11,14 @@ setupRemixd () {
cd ..
}

if test $(uname -s) = "Darwin"
then
OS="osx"
FILEFORMAT="zip"
else
OS="linux"
FILEFORMAT="tar.gz"
fi
SC_VERSION="4.5.1"
SAUCECONNECT_URL="https://saucelabs.com/downloads/sc-$SC_VERSION-$OS.$FILEFORMAT"
SAUCECONNECT_USERNAME="yanneth"
SAUCECONNECT_ACCESSKEY="1f5a4560-b02b-41aa-b52b-f033aad30870"
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
SAUCECONNECT_JOBIDENTIFIER="browsersolidity_tests_${BUILD_ID}"
SAUCECONNECT_READYFILE="sc.ready"
TEST_EXITCODE=0

npm run serve &

setupRemixd

wget "$SAUCECONNECT_URL"
tar -zxvf sc-"$SC_VERSION"-"$OS"."$FILEFORMAT"
./sc-"$SC_VERSION"-"$OS"/bin/sc -u "$SAUCECONNECT_USERNAME" -k "$SAUCECONNECT_ACCESSKEY" -i "$SAUCECONNECT_JOBIDENTIFIER" --no-ssl-bump-domains all --readyfile "$SAUCECONNECT_READYFILE" &
while [ ! -f "$SAUCECONNECT_READYFILE" ]; do
sleep .5
done
sleep 5

npm run nightwatch_remote_chrome || TEST_EXITCODE=1
npm run nightwatch_remote_firefox || TEST_EXITCODE=1
Expand Down
32 changes: 5 additions & 27 deletions nightwatch.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
'use strict'

var buildId = process.env.CIRCLE_BUILD_NUM || process.env.TRAVIS_JOB_NUMBER

module.exports = {
'src_folders': ['test-browser/tests'],
'output_folder': 'reports',
Expand All @@ -12,13 +10,8 @@ module.exports = {

'test_settings': {
'default': {
'launch_url': 'http://ondemand.saucelabs.com:80',
'selenium_host': 'ondemand.saucelabs.com',
'selenium_port': 80,
'silent': true,
'username': 'yanneth',
'access_key': '1f5a4560-b02b-41aa-b52b-f033aad30870',
'use_ssl': false,
'selenium_port': 4444,
'selenium_host': 'localhost',
'globals': {
'waitForConditionTimeout': 10000,
'asyncHookTimeout': 100000
Expand All @@ -30,9 +23,7 @@ module.exports = {
'desiredCapabilities': {
'browserName': 'firefox',
'javascriptEnabled': true,
'acceptSslCerts': true,
'build': 'build-' + buildId,
'tunnel-identifier': 'browsersolidity_tests_' + buildId
'acceptSslCerts': true
}
},

Expand All @@ -41,8 +32,6 @@ module.exports = {
'browserName': 'chrome',
'javascriptEnabled': true,
'acceptSslCerts': true,
'build': 'build-' + buildId,
'tunnel-identifier': 'browsersolidity_tests_' + buildId,
'chromeOptions': {
'args': ['window-size=2560,1440', 'start-fullscreen']
}
Expand All @@ -53,30 +42,19 @@ module.exports = {
'desiredCapabilities': {
'browserName': 'safari',
'javascriptEnabled': true,
'platform': 'macOS 10.13',
'version': '11.0',
'acceptSslCerts': true,
'build': 'build-' + buildId,
'tunnel-identifier': 'browsersolidity_tests_' + buildId
'acceptSslCerts': true
}
},

'ie': {
'desiredCapabilities': {
'browserName': 'internet explorer',
'javascriptEnabled': true,
'platform': 'Windows 10',
'acceptSslCerts': true,
'version': '11.103',
'build': 'build-' + buildId,
'tunnel-identifier': 'browsersolidity_tests_' + buildId
'acceptSslCerts': true
}
},

'local': {
'launch_url': 'http://localhost:8080',
'selenium_port': 4444,
'selenium_host': 'localhost',
'desiredCapabilities': {
'browserName': 'chrome',
'javascriptEnabled': true,
Expand Down
1 change: 1 addition & 0 deletions test-browser/helpers/contracts.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ function verifyCallReturnValue (browser, address, checks, done) {
}
return ret
}, [address], function (result) {
console.log('verifyCallReturnValue', result)
for (var k in checks) {
browser.assert.equal(result.value[k], checks[k])
}
Expand Down
2 changes: 1 addition & 1 deletion test-browser/tests/generalTests.js
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ function testSignature (browser, callback) {
.getAttribute(instanceSelector, 'id', (result) => {
// skip 'instance' part of e.g. 'instance0x692a70d2e424a56d2c6c27aa97d1a86395877b3a'
const address = result.value.slice('instance'.length)
browser.clickFunction('ecrecovery - call', {types: 'bytes32 hash, bytes sig', values: `"${hash.value}","${signature.value}"`}).perform(
browser.clickFunction('ecrecovery - call', {types: 'bytes32 hash, bytes sig', values: `"${hash.value}","${signature.value}"`}).pause(1000).perform(
() => {
contractHelper.verifyCallReturnValue(
browser,
Expand Down
10 changes: 4 additions & 6 deletions test-browser/tests/sauce.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@

const https = require('https')
// const https = require('https')

module.exports = function sauce (callback) {
return callback()
/*
const currentTest = this.client.currentTest
const username = this.client.options.username
const sessionId = this.client.capabilities['webdriver.remote.sessionid']
const accessKey = this.client.options.accessKey
if (!this.client.launch_url.match(/saucelabs/)) {
console.log('Not saucelabs ...')
return callback()
}

if (!username || !accessKey || !sessionId) {
console.log(this.client)
console.log('No username, accessKey or sessionId')
Expand Down Expand Up @@ -59,4 +56,5 @@ module.exports = function sauce (callback) {
console.log('Error', error)
callback()
}
*/
}

0 comments on commit bf1c569

Please sign in to comment.