Frappe Framework
Tests d’intégration UI
Cypress, sans Selenium, sert aux tests d’intégration d’interface. Les fichiers JavaScript vivent dans cypress/integration.
À quoi sert Cypress
Les tests d’intégration s’écrivent avec Cypress, un cadre NodeJS de bout en bout qui ne s’appuie pas sur Selenium. Créez un fichier .js dans le dossier cypress/integration.
Exemple : créer une tâche
Le test se connecte en Administrator, ouvre le bureau, crée une tâche (ToDo), vérifie l’état non enregistré, valide, puis retrouve la ligne dans la liste.
context("ToDo", () => {
before(() => {
cy.login("Administrator", "admin");
cy.visit("/desk");
});
it("creates a new todo", () => {
cy.visit("/app/todo/new-todo-1");
cy.fill_field("description", "this is a test todo", "Text Editor").blur();
cy.get(".page-title").should("contain", "Not Saved");
cy.get(".primary-action").click();
cy.visit("/desk#List/ToDo");
cy.location("hash").should("eq", "/app/todo");
cy.get(".list-row").should("contain", "this is a test todo");
});
});cy.fill_field reçoit le nom du champ, la valeur et le type de champ, ici Text Editor.
Lancer Cypress en local
Cypress utilise un navigateur à base Chromium déjà installé. Chaque application a sa propre suite. Pour l’application frappe :
cd ~/frappe-bench/apps/frappe
yarn cypress:openLe shell Electron de Cypress s’ouvre. On y lance un test à la main, ou toute la suite.
Point d’attention
La commande de l’exemple se place dans l’application, pas à la racine du bench. Le test de la source se connecte avec le couple Administrator / admin.
