Вступ
Для того, щоб здійснювати видалення, зміну або створення даних безпосередньо через базу даних (Database) SQL Server за допомогою Cypress, можна використовувати бібліотеку “cypress-sql-server”.
Цей посібник призначений для проектів Cypress з використанням TypeScript, і має на меті допомогти в установці та налаштуванні бібліотеки cypress-sql-server для виконання операцій безпосередньо в базі даних SQL Server під час автоматизованих тестів.
Мати відповідну масу даних є важливим для того, щоб тести охоплювали реальні сценарії і симулювали очікувану поведінку в середовищі виробництва. Ця практика підвищує надійність та узгодженість результатів.
Кроки налаштування
Інсталяція бібліотеки:
Для цього необхідно відкрити командний рядок в корені проекту, а потім використати команду:
npm install cypress-sql-server -D
Після інсталяції переконайтесь, що пакет був доданий до файлу package.json
.
Створення середовища в cypress.env.json:
Згідно з документацією бібліотеки, необхідно додати до cypress.env.json
наступний об'єкт:
"db": {
"userName": "",
"password": "",
"server": "",
"port": "",
"options": {
"database": "",
"encrypt": true,
"rowCollectionOnRequestCompletion" : true
}
}
ПРИМІТКА: Потрібно заповнити порожні поля і параметри для підключення до бази даних, а також вказати ім'я користувача та пароль.
Налаштування в tsconfig.json:
Щоб імпортувати бібліотеку у рішення, необхідно додати шлях до папки “cypress-sql-server” у файл tsconfig.json
, як показано нижче:
"compilerOptions": {
"paths": {
"cypress-sql-server": ["./node_modules/cypress-sql-server"]
},
},
ПРИМІТКА: Переконайтесь, що папка
node_modules
знаходиться на тому ж рівні, що й файл “tsconfig.json”. Якщо це не так, потрібно змінити директорію.
Налаштування в cypress.config.ts:
Необхідно імпортувати і присвоїти бібліотеку змінній, після чого слід ініціалізувати налаштування з файлу cypress.env.json
безпосередньо в loadDBPlugin. Як показано нижче:
const sqlServer = require("cypress-sql-server");
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
const tasks = sqlServer.loadDBPlugin(config.env.db);
on("task", { ...tasks });
return config;
},
},
});
ПРИМІТКА: Налаштування додаються, тобто попередні налаштування можна залишити без змін.
Налаштування в e2e.ts:
Щоб використовувати спеціалізовану бібліотеку, потрібно додати до файлу e2e.ts
наступний код:
const sqlServer = require("cypress-sql-server");
sqlServer.loadDBCommands();
Тепер, щоб використовувати спеціалізовану команду, потрібно додати в index.d.ts інтерфейс, який очікується бібліотекою:
interface SqlQueryCommand {
sqlServer(query: string): Chainable;
}
Приклади використання
Після виконання цих кроків ви зможете здійснювати підключення до бази даних SQL Server під час виконання тестів Cypress.
cy.sqlServer("SELECT 'teste'").then((result) => {
cy.log("RESULT DELETE DB COMMAND: ", result);
});
Слідуючи цьому посібнику, ви зможете налаштувати і використовувати бібліотеку cypress-sql-server у проектах Cypress з TypeScript. Крім того, забезпечивши хорошу масу даних, ваші тести стануть більш надійними та ефективними.
Бібліотека: cypress-sql-server — npm
Перекладено з: Cypress Typescript — SQL Server