Cypress TypeScript — SQL Server

Вступ

Для того, щоб здійснювати видалення, зміну або створення даних безпосередньо через базу даних (Database) SQL Server за допомогою Cypress, можна використовувати бібліотеку “cypress-sql-server”.

Цей посібник призначений для проектів Cypress з використанням TypeScript, і має на меті допомогти в установці та налаштуванні бібліотеки cypress-sql-server для виконання операцій безпосередньо в базі даних SQL Server під час автоматизованих тестів.

Мати відповідну масу даних є важливим для того, щоб тести охоплювали реальні сценарії і симулювали очікувану поведінку в середовищі виробництва. Ця практика підвищує надійність та узгодженість результатів.

Кроки налаштування

Інсталяція бібліотеки:

Для цього необхідно відкрити командний рядок в корені проекту, а потім використати команду:

npm install cypress-sql-server -D

Після інсталяції переконайтесь, що пакет був доданий до файлу package.json.

pic

Створення середовища в 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

Leave a Reply

Your email address will not be published. Required fields are marked *