1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 09:57:02 +01:00

development - screenshotter - capture screens across all locales

This commit is contained in:
kumavis 2018-03-30 00:48:37 -07:00
parent 5945c8cf67
commit fcdfd48057
2 changed files with 35 additions and 13 deletions

View File

@ -10,6 +10,7 @@ const pngFileStream = require('png-file-stream')
const sizeOfPng = require('image-size/lib/types/png')
const By = webdriver.By
const { delay, buildWebDriver } = require('./func')
const localesIndex = require('../../app/_locales/index.json')
captureAllScreens().catch(console.error)
@ -49,62 +50,62 @@ async function captureAllScreens() {
driver.close()
await driver.switchTo().window(tabs[0])
await delay(300)
await captureScreenShot('welcome-new-ui')
await captureLanguageScreenShots('welcome-new-ui')
// setup account
await delay(1000)
await driver.findElement(By.css('body')).click()
await delay(300)
await captureScreenShot('welcome')
await captureLanguageScreenShots('welcome')
await driver.findElement(By.css('button')).click()
await captureScreenShot('create password')
await captureLanguageScreenShots('create password')
const passwordBox = await driver.findElement(By.css('input[type=password]:nth-of-type(1)'))
const passwordBoxConfirm = await driver.findElement(By.css('input[type=password]:nth-of-type(2)'))
passwordBox.sendKeys('123456789')
passwordBoxConfirm.sendKeys('123456789')
await delay(500)
await captureScreenShot('choose-password-filled')
await captureLanguageScreenShots('choose-password-filled')
await driver.findElement(By.css('button')).click()
await delay(500)
await captureScreenShot('unique account image')
await captureLanguageScreenShots('unique account image')
await driver.findElement(By.css('button')).click()
await delay(500)
await captureScreenShot('privacy note')
await captureLanguageScreenShots('privacy note')
await driver.findElement(By.css('button')).click()
await delay(300)
await captureScreenShot('terms')
await captureLanguageScreenShots('terms')
await delay(300)
element = driver.findElement(By.linkText('Attributions'))
await driver.executeScript('arguments[0].scrollIntoView(true)', element)
await delay(300)
await captureScreenShot('terms-scrolled')
await captureLanguageScreenShots('terms-scrolled')
await driver.findElement(By.css('button')).click()
await delay(300)
await captureScreenShot('secret backup phrase')
await captureLanguageScreenShots('secret backup phrase')
await driver.findElement(By.css('button')).click()
await delay(300)
await captureScreenShot('secret backup phrase')
await captureLanguageScreenShots('secret backup phrase')
await driver.findElement(By.css('.backup-phrase__reveal-button')).click()
await delay(300)
await captureScreenShot('secret backup phrase - reveal')
await captureLanguageScreenShots('secret backup phrase - reveal')
await driver.findElement(By.css('button')).click()
await delay(300)
await captureScreenShot('confirm secret backup phrase')
await captureLanguageScreenShots('confirm secret backup phrase')
// finish up
console.log('building gif...')
await generateGif()
await driver.quit()
// await driver.quit()
return
//
@ -144,6 +145,22 @@ async function captureAllScreens() {
// await delay(500)
// })
async function captureLanguageScreenShots(label) {
const nonEnglishLocales = localesIndex.filter(localeMeta => localeMeta.code !== 'en')
for (let localeMeta of nonEnglishLocales) {
// set locale
await setLocale(localeMeta.code)
await delay(300)
await captureScreenShot(`${label} (${localeMeta.code})`)
}
await setLocale('en')
await delay(300)
}
async function setLocale(code) {
await driver.executeScript('setLocale(arguments[0])', code)
}
// cleanup
await driver.quit()

View File

@ -69,6 +69,11 @@ async function startApp (metamaskState, accountManager, opts) {
store.dispatch(actions.updateMetamaskState(metamaskState))
})
// used by screenshotter tooling
global.setLocale = (key) => {
store.dispatch(actions.updateCurrentLocale(key))
}
// start app
render(
h(Root, {