Skip to content
Snippets Groups Projects
Commit 7a8ee6ff authored by Alexandre Ducarne's avatar Alexandre Ducarne
Browse files

Added new spec

parent 357e6b0e
No related branches found
No related tags found
1 merge request!7v1.0
class WindowManager {
switchToNextTab(closeCurrentTab) {
browser.getAllWindowHandles().then(handles => {
if (closeCurrentTab) browser.driver.close();
browser.driver.switchTo().window(handles[1]);
});
}
}
module.exports = new WindowManager();
class Demeter {
getEtuDetails() {
return element.all(by.css('.titre')).get(0);
}
getAdviserDetails() {
return element.all(by.css('.titre')).get(3);
}
getBaseURI() {
return 'https://demeter.utc.fr';
}
}
module.exports = new Demeter();
class Index {
getTrombinoscopeButton() {
return $('#btnTrombi');
}
getEtuDirectoryButton() {
return element(by.cssContainingText('a', 'Mon dossier étudiant'));
}
goToEtuDirectory() {
this.getEtuDirectoryButton().click();
}
}
module.exports = new Index();
class Login {
getUsername() {
return $('#username');
}
getPassword() {
return $('#password');
}
getSubmitButton() {
return element(by.name('Submit1'));
}
}
module.exports = new Login();
......@@ -2,6 +2,14 @@ class Index {
getTrombinoscopeButton() {
return $('#btnTrombi');
}
getEtuDirectoryButton() {
return element(by.cssContainingText('a', 'Mon dossier étudiant'));
}
goToEtuDirectory() {
this.getEtuDirectoryButton().click();
}
}
module.exports = new Index();
const HtmlReporter = require('protractor-beautiful-reporter');
const {SpecReporter} = require('jasmine-spec-reporter');
const { SpecReporter } = require('jasmine-spec-reporter');
const path = require('path');
const auth = require('./environment.json');
......@@ -12,20 +12,25 @@ exports.config = {
seleniumPort: null,
seleniumArgs: [],
specs: [
'./specs/*.spec.js',
],
specs: ['./specs/*.spec.js'],
params: {
username: auth.username,
password: auth.password,
password: auth.password
},
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--window-size=1910,1080'],
},
prefs: {
download: {
prompt_for_download: false,
directory_upgrade: true,
default_directory: './reports-tmp'
}
}
}
},
// A base URL for your application under test. Calls to protractor.get()
......@@ -36,40 +41,40 @@ exports.config = {
framework: 'jasmine',
onPrepare: function() {
jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
// Add a screenshot reporter:
jasmine.getEnv().addReporter(new HtmlReporter({
preserveDirectory: false,
takeScreenShotsOnlyForFailedSpecs: true,
screenshotsSubfolder: 'images',
jsonsSubfolder: 'jsons',
baseDirectory: 'reports-tmp',
clientDefaults: {
columnSettings: {
displaySessionId: false,
jasmine.getEnv().addReporter(
new HtmlReporter({
preserveDirectory: false,
takeScreenShotsOnlyForFailedSpecs: true,
screenshotsSubfolder: 'images',
jsonsSubfolder: 'jsons',
baseDirectory: 'reports-tmp',
clientDefaults: {
columnSettings: {
displaySessionId: false
}
},
},
pathBuilder: function pathBuilder(spec, descriptions, results, capabilities) {
const currentDate = new Date();
const day = currentDate.getDate();
const month = currentDate.getMonth() + 1;
const year = currentDate.getFullYear();
const time = currentDate.getHours();
pathBuilder: function pathBuilder(spec, descriptions, results, capabilities) {
const currentDate = new Date();
const day = currentDate.getDate();
const month = currentDate.getMonth() + 1;
const year = currentDate.getFullYear();
const time = currentDate.getHours();
const validDescriptions = descriptions.map(function(description) {
return description.replace('/', '@');
});
const validDescriptions = descriptions.map(function(description) {
return description.replace('/', '@');
});
return path.join(
year + '-' + month + '-' + day + '-' + time,
validDescriptions.join('-'));
},
}).getJasmine2Reporter());
return path.join(year + '-' + month + '-' + day + '-' + time, validDescriptions.join('-'));
}
}).getJasmine2Reporter()
);
},
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {},
},
print: function() {}
}
};
const Login = require('../pageObjects/pages/login.po.js');
const Login = require('../pageObjects/pages/Login.po.js');
const EC = protractor.ExpectedConditions;
describe('Authentication', () => {
......@@ -21,6 +21,6 @@ describe('Authentication', () => {
it('should submit and be logged in', () => {
Login.getSubmitButton().click();
browser.wait(EC.urlContains('https://webapplis.utc.fr/ent/index.jsf'), 10000);
browser.wait(EC.urlContains('https://webapplis.utc.fr/ent/index.jsf'), 10000)
});
});
......@@ -4,6 +4,7 @@ const EC = protractor.ExpectedConditions;
describe('Trombinoscope', () => {
beforeAll(() => {
browser.ignoreSynchronization = true;
browser.get('index.jsf');
});
......
const Index = require('../pageObjects/pages/Index.po');
const Demeter = require('../pageObjects/pages/Demeter.po');
const WindowManager = require('../helpers/WindowManager');
const EC = protractor.ExpectedConditions;
describe('Certficate Download', () => {
beforeAll(() => {
browser.ignoreSynchronization = true;
browser.get('index.jsf');
});
it('should click the button to the etu directory server', () => {
Index.goToEtuDirectory();
});
it('should be on demeter server', () => {
WindowManager.switchToNextTab(true);
browser.wait(EC.urlContains(Demeter.getBaseURI()), 10000);
browser.sleep(5000);
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment