Moved driver setup in dedicated module
This commit is contained in:
parent
663419bacf
commit
cef86ef937
|
@ -1,22 +1,21 @@
|
|||
Fonctionnalité: Authentik
|
||||
Contexte:
|
||||
Sachant que je suis sur la page d'accueil de Combo
|
||||
|
||||
Scénario: Connexion valide
|
||||
Sachant que je visite la page de connexion
|
||||
Sachant que je suis sur la page "Portail Usager - Accueil"
|
||||
Et que je clique sur "Connexion"
|
||||
Lorsque je saisis "admin@localhost" dans le champ "username"
|
||||
Et que je saisis "admin" dans le champ "password"
|
||||
Et que je valide le formulaire
|
||||
Alors Je dois être connectée en tant que "admin admin"
|
||||
Alors je dois être connectée en tant que "admin admin"
|
||||
|
||||
Scénario: Déconnexion
|
||||
Lorsque je clique sur "Déconnexion"
|
||||
Alors Je dois ne dois pas être connecté
|
||||
Alors je ne dois pas être connectée
|
||||
|
||||
Scénario: Authentification échouée
|
||||
Sachant que je visite la page de connexion
|
||||
Sachant que je suis sur la page "Portail Usager - Accueil"
|
||||
Et que je clique sur "Connexion"
|
||||
Lorsque je saisis "admin@localhost" dans le champ "username"
|
||||
Et que je saisis "invalide" dans le champ "password"
|
||||
Et que je valide le formulaire
|
||||
Alors Je dois ne dois pas être connecté
|
||||
Alors je ne dois pas être connectée
|
||||
Et la page doit afficher "Courriel ou mot de passe incorrect"
|
|
@ -1,27 +1,29 @@
|
|||
const assert = require('assert')
|
||||
|
||||
const { Given, When, Then, After, AfterAll, setDefaultTimeout} = require('@cucumber/cucumber');
|
||||
const { Builder, By, Capabilities, Key } = require('selenium-webdriver');
|
||||
const { expect } = require('chai');
|
||||
setDefaultTimeout(5 * 1000);
|
||||
require("chromedriver");
|
||||
const { By, Key } = require('selenium-webdriver');
|
||||
|
||||
// driver setup
|
||||
const capabilities = Capabilities.chrome();
|
||||
capabilities.set('chromeOptions', { "w3c": false });
|
||||
const driver = new Builder().withCapabilities(capabilities).build();
|
||||
const { getDriver } = require('../../src/driver');
|
||||
const { expect } = require('chai');
|
||||
|
||||
// setup
|
||||
setDefaultTimeout(5 * 1000);
|
||||
const driver = getDriver()
|
||||
driver.manage().window().maximize()
|
||||
|
||||
Given("je suis sur la page d'accueil de Combo", async function () {
|
||||
await driver.get('https://combo.dev.publik.love');
|
||||
});
|
||||
let PAGES = {
|
||||
'Portail Usager - Accueil': process.env.PUBLIK_PORTAIL_USAGER || 'https://combo.dev.publik.love'
|
||||
}
|
||||
console.log('Available pages:', PAGES)
|
||||
console.log('Launching tests...')
|
||||
function getUrlFromPage(pageName) {
|
||||
return PAGES[pageName]
|
||||
}
|
||||
|
||||
Given('je visite la page de connexion', async function () {
|
||||
let element = await driver.findElement(By.className('login-link'));
|
||||
await element.click();
|
||||
Given("je suis sur la page {string}", async function (pageName) {
|
||||
await driver.get(getUrlFromPage(pageName));
|
||||
});
|
||||
|
||||
|
||||
When('je saisis {string} dans le champ {string}', async function (text, field) {
|
||||
let element = await driver.findElement(By.name(field));
|
||||
await element.sendKeys(text)
|
||||
|
@ -33,7 +35,7 @@ When('je valide le formulaire', async function () {
|
|||
});
|
||||
|
||||
|
||||
Then('Je dois être connectée en tant que {string}', async function (expectedUsername) {
|
||||
Then('je dois être connecté(e) en tant que {string}', async function (expectedUsername) {
|
||||
let usernameLink = await driver.findElement(By.className('connected-user'));
|
||||
let username = await usernameLink.getText()
|
||||
expect(username).to.equal(expectedUsername)
|
||||
|
@ -45,7 +47,7 @@ When('je clique sur {string}', async function (text) {
|
|||
});
|
||||
|
||||
|
||||
Then('Je dois ne dois pas être connecté', async function () {
|
||||
Then('je ne dois pas être connecté(e)', async function () {
|
||||
await driver.findElement(By.className('login-link'));
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
const { Builder, Capabilities } = require('selenium-webdriver');
|
||||
require("chromedriver");
|
||||
|
||||
module.exports.getDriver = function getDriver() {
|
||||
// driver setup
|
||||
const capabilities = Capabilities.chrome();
|
||||
capabilities.set('chromeOptions', { "w3c": false });
|
||||
const driver = new Builder().withCapabilities(capabilities).build();
|
||||
return driver
|
||||
}
|
Loading…
Reference in New Issue