Added the files.
This commit is contained in:
commit
38ccdcbfe5
124 changed files with 32079 additions and 0 deletions
11
client/continuous_deployment/before_install.sh
Normal file
11
client/continuous_deployment/before_install.sh
Normal file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
set -ev
|
||||
#run only on master
|
||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
|
||||
npm install -g firebase-tools
|
||||
npm install -g selenium-webdriver
|
||||
npm install codecov.io coveralls
|
||||
cd functions
|
||||
npm install
|
||||
cd ..
|
||||
fi
|
88
client/continuous_deployment/bs.js
Normal file
88
client/continuous_deployment/bs.js
Normal file
|
@ -0,0 +1,88 @@
|
|||
// To run this script use this command
|
||||
// node bs.js yourBSUserName yourBSKey
|
||||
|
||||
var webdriver = require('selenium-webdriver')
|
||||
var test = require('./bs_test.js')
|
||||
|
||||
// Input capabilities
|
||||
var iPhone = {
|
||||
browserName: 'iPhone',
|
||||
device: 'iPhone 7',
|
||||
realMobile: 'true',
|
||||
os_version: '10.3',
|
||||
'browserstack.user': process.argv[2],
|
||||
'browserstack.key': process.argv[3],
|
||||
}
|
||||
|
||||
var android = {
|
||||
browserName: 'android',
|
||||
device: 'Samsung Galaxy S8',
|
||||
realMobile: 'true',
|
||||
os_version: '7.0',
|
||||
'browserstack.user': process.argv[2],
|
||||
'browserstack.key': process.argv[3],
|
||||
}
|
||||
|
||||
var desktopFF = {
|
||||
browserName: 'Firefox',
|
||||
browser_version: '59.0',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
resolution: '1024x768',
|
||||
'browserstack.user': process.argv[2],
|
||||
'browserstack.key': process.argv[3],
|
||||
}
|
||||
|
||||
var desktopEdge = {
|
||||
browserName: 'Edge',
|
||||
browser_version: '16.0',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
resolution: '1024x768',
|
||||
'browserstack.user': process.argv[2],
|
||||
'browserstack.key': process.argv[3],
|
||||
}
|
||||
|
||||
var desktopIE = {
|
||||
browserName: 'Chrome',
|
||||
browser_version: '69.0',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
resolution: '1024x768',
|
||||
'browserstack.user': process.argv[2],
|
||||
'browserstack.key': process.argv[3],
|
||||
}
|
||||
|
||||
/*
|
||||
var iPhoneDriver = new webdriver.Builder()
|
||||
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
|
||||
.withCapabilities(iPhone)
|
||||
.build()
|
||||
|
||||
|
||||
var androidDriver = new webdriver.Builder()
|
||||
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
|
||||
.withCapabilities(android)
|
||||
.build()
|
||||
*/
|
||||
|
||||
var desktopFFDriver = new webdriver.Builder()
|
||||
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
|
||||
.withCapabilities(desktopFF)
|
||||
.build()
|
||||
|
||||
var desktopEdgeDriver = new webdriver.Builder()
|
||||
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
|
||||
.withCapabilities(desktopEdge)
|
||||
.build()
|
||||
|
||||
var desktopIEDriver = new webdriver.Builder()
|
||||
.usingServer('http://hub-cloud.browserstack.com/wd/hub')
|
||||
.withCapabilities(desktopIE)
|
||||
.build()
|
||||
|
||||
//test.runTest(iPhoneDriver)
|
||||
//test.runTest(androidDriver)
|
||||
test.runTest(desktopFFDriver)
|
||||
test.runTest(desktopEdgeDriver)
|
||||
test.runTest(desktopIEDriver)
|
62
client/continuous_deployment/bs_test.js
Normal file
62
client/continuous_deployment/bs_test.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
var webdriver = require('selenium-webdriver')
|
||||
|
||||
const sleep = ms => {
|
||||
return new Promise(resolve => setTimeout(resolve, ms))
|
||||
}
|
||||
|
||||
module.exports.runTest = async driver => {
|
||||
try {
|
||||
await driver.get('https://www.react-most-wanted.com')
|
||||
|
||||
await sleep(2000)
|
||||
|
||||
var signInButton = driver.wait(webdriver.until.elementLocated(webdriver.By.name('signin')))
|
||||
|
||||
await signInButton.click()
|
||||
await sleep(2000)
|
||||
|
||||
var passwordButton = driver.wait(
|
||||
webdriver.until.elementLocated(
|
||||
webdriver.By.className(
|
||||
'firebaseui-idp-button mdl-button mdl-js-button mdl-button--raised firebaseui-idp-password firebaseui-id-idp-button'
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
await passwordButton.click()
|
||||
await sleep(2000)
|
||||
|
||||
var emailInput = driver.wait(webdriver.until.elementLocated(webdriver.By.name('email')))
|
||||
|
||||
await emailInput.sendKeys('test@test.com')
|
||||
await sleep(2000)
|
||||
|
||||
var nextButton = driver.wait(
|
||||
webdriver.until.elementLocated(
|
||||
webdriver.By.className(
|
||||
'firebaseui-id-submit firebaseui-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored'
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
await nextButton.click()
|
||||
await sleep(2000)
|
||||
|
||||
var passwordInput = driver.wait(webdriver.until.elementLocated(webdriver.By.name('password')))
|
||||
|
||||
await passwordInput.sendKeys('123456')
|
||||
await sleep(2000)
|
||||
|
||||
await passwordInput.sendKeys(webdriver.Key.ENTER)
|
||||
await sleep(2000)
|
||||
|
||||
driver.quit()
|
||||
} catch (e) {
|
||||
console.log('Test Failed')
|
||||
console.error(e)
|
||||
process.exitCode = 1
|
||||
process.abort()
|
||||
|
||||
driver.quit()
|
||||
}
|
||||
}
|
7
client/continuous_deployment/build.sh
Normal file
7
client/continuous_deployment/build.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ev
|
||||
#run only on master
|
||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
|
||||
npm run build
|
||||
fi
|
8
client/continuous_deployment/deploy.sh
Normal file
8
client/continuous_deployment/deploy.sh
Normal file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
set -ev
|
||||
#run only on master
|
||||
if [[ $TRAVIS_PULL_REQUEST == "false" ]] && [[ $TRAVIS_BRANCH == "master" ]]; then
|
||||
firebase use prod --token $FIREBASE_TOKEN
|
||||
firebase deploy --non-interactive --token $FIREBASE_TOKEN
|
||||
node ./continuous_deployment/bs.js $BSNAME $BSKEY
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue