UNPKG

cucumber-protractor

Version:

POM CukeTractor - Bootstrap your cucumber tests with cucumber, protractor and a structured way of creating page objects and component objects

33 lines (26 loc) 913 B
const path = require('path'); const createComponent = require('./createComponent'); // eslint-disable-next-line const { pomConfig } = require(path.join(process.cwd(), process.env.confFile || 'conf.js')); module.exports = (name, world, pageUrl, elLocators, customMethods = {}) => Object.assign( {}, createComponent(name, world, elLocators, 'page'), { getPagePath() { return pageUrl; }, getPageFullUrl() { // add protocol and host from pomConfig if pageUrl in the page object is just a pathname const url = `${pageUrl.startsWith('http') ? '' : pomConfig.baseUrl}${pageUrl}`; console.log('Getting full url: ', url); return url; }, goToPage() { return browser.get(this.getPageFullUrl()); }, }, customMethods, ); module.exports.getFileName = (fileName) => path.basename(fileName).replace(/\.js$/, '');