Reputation: 951
I need to do something more in onPrepare phase. For this startup code I need some external libraries. How can I include some files for onPrepare function?
My app need websql database in browser so I need add some fixtures: create tables and add some testing data in it. I wrote some small library for easy CRUD queries for websql db. So I don't want to write raw javascript for creating tables and append data.
Is any recommended way how can I achieve it?
Upvotes: 0
Views: 968
Reputation: 387
For adding external libraries I just do
var env = require('./environment.js');
exports.config = {
seleniumAddress: env.seleniumAddress,
// Spec patterns are relative to this directory.
specs: [
'onPrepare/*_spec.js'
],
capabilities: env.capabilities,
baseUrl: env.baseUrl,
onPrepare: function() {
var UntrustedCertOverride = require('./untrusted-cert-override.js');
var OracleSsoPage = require('./claimsoverview/oracle-sso.po.js');
//Setup a global variable for using the non-angular driver
global.dvr = browser.driver;
dvr.get('/url');
UntrustedCertOverride(dvr);
var oracleSsoPage = new OracleSsoPage(dvr);
//etc.....
},
};
Or if you don't want your onPrepare: to be messy do this
var env = require('./environment.js');
// Configuration using a string in onPrepare to load a file with code to
// execute once before tests.
exports.config = {
seleniumAddress: env.seleniumAddress,
// Spec patterns are relative to this directory.
specs: [
'onPrepare/*_spec.js'
],
capabilities: env.capabilities,
baseUrl: env.baseUrl,
onPrepare: 'onPrepare/startup.js'
};
More Examples and Best practices can be found here: https://github.com/angular/protractor/tree/a368de0b74db35a90d9a2d8aa48a7e57a45a2aa7/spec
Upvotes: 1