UNPKG

webdriverio-automation

Version:

WebdriverIO-Automation android ios project

78 lines (68 loc) 2.44 kB
import path from 'path'; import log from './logger'; import _ from 'lodash'; import { fs } from 'appium-support'; import B from 'bluebird'; let STATIC_DIR = path.resolve(__dirname, '..', '..', '..', 'static'); if (_.isNull(path.resolve(__dirname).match(/build[/\\]lib[/\\]express$/))) { // in some contexts we are not in the build directory, // so we don't want to go back the extra level STATIC_DIR = path.resolve(__dirname, '..', '..', 'static'); } async function guineaPigTemplate (req, res, page) { let delay = parseInt(req.params.delay || req.query.delay || 0, 10); let throwError = req.params.throwError || req.query.throwError || ''; let params = { throwError, serverTime: parseInt(Date.now() / 1000, 10), userAgent: req.headers['user-agent'], comment: 'None' }; if (req.method === 'POST') { params.comment = req.body.comments || params.comment; } log.debug(`Sending guinea pig response with params: ${JSON.stringify(params)}`); if (delay) { log.debug(`Waiting ${delay}ms before responding`); await B.delay(delay); } res.set('content-type', 'text/html'); res.cookie('guineacookie1', 'i am a cookie value', {path: '/'}); res.cookie('guineacookie2', 'cookié2', {path: '/'}); res.cookie('guineacookie3', 'cant access this', { domain: '.blargimarg.com', path: '/' }); res.send((await getTemplate(page))(params)); } /* * Dynamic page mapped to /test/guinea-pig */ async function guineaPig (req, res) { return await guineaPigTemplate(req, res, 'guinea-pig.html'); } /* * Dynamic page mapped to /test/guinea-pig-scrollable */ async function guineaPigScrollable (req, res) { return await guineaPigTemplate(req, res, 'guinea-pig-scrollable.html'); } /* * Dynamic page mapped to /test/guinea-pig-app-banner */ async function guineaPigAppBanner (req, res) { return await guineaPigTemplate(req, res, 'guinea-pig-app-banner.html'); } /* * Dynamic page mapped to /welcome */ async function welcome (req, res) { let params = {message: 'Let\'s browse!'}; log.debug(`Sending welcome response with params: ${JSON.stringify(params)}`); res.send((await getTemplate('welcome.html'))(params)); } async function getTemplate (templateName) { let content = await fs.readFile(path.resolve(STATIC_DIR, 'test', templateName)); return _.template(content.toString()); } export { guineaPig, guineaPigScrollable, guineaPigAppBanner, welcome, STATIC_DIR };