界面集成测试

你可以使用 Cypress 来编写集成测试。它是一个基于 NodeJS 的全栈测试框架,不依赖 Selenium。

要编写集成测试,请在 cypress/integration 目录中创建一个 .js 文件。

示例

以下是一个用于检查待办事项插入的集成测试示例

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');
 });
});

在本地运行 Cypress

Cypress 使用你系统上安装的任何基于 Chromium 的浏览器来运行测试。每个应用都有自己的 Cypress 测试套件。
例如,要运行 frappe 应用的测试,请运行以下命令

cd ~/frappe-bench/apps/frappe
yarn cypress:open

这将打开 Cypress Electron 界面,你可以在其中手动运行任何测试,或运行所有测试。