«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Используйте AskUI и Cucumber вместе

Используйте AskUI и Cucumber вместе

Опубликовано 31 июля 2024 г.
Просматривать:375

Используйте AskUI и Cucumber вместе

Определяя поведение системы в структурированном формате, таком как Gherkin, разработка на основе поведения (BDD) позволяет командам преодолеть разрыв между заинтересованными сторонами, тестировщиками и разработчиками, избегая недопонимания и сокращая объем переделок. В качестве подхода к сотрудничеству BDD призывает все стороны работать вместе с самого начала, гарантируя, что все будут в
на одной и той же странице и что требования точно отражены.

В этом процессе Cucumber — популярный инструмент, используемый для реализации BDD, позволяющий командам писать понятные, исполняемые тесты, гарантирующие, что система работает должным образом.

В этом сообщении блога мы покажем вам, как настроить Cucumber в сочетании с AskUI для определения рабочих процессов AskUI с использованием принципов BDD.

Gif showing the whole workflow. Open new tab in Google Chrome browser, typing in the AskUI Practice Page URL and pressing enter. Then the practice page is opened

Предварительные условия

  • AskUI установлен и настроен в вашей системе (Windows, Linux, macOS)

  • Удалить Askui_example/my-first-askui-test-suite.test.ts после инициализации

Подготовьте установку

Cucumber пока не очень хорошо работает с настройками AskUI по умолчанию (версия 0.20.3). Чтобы AskUI хорошо работал с Cucumber, вам нужно сделать две небольшие подготовки, поскольку AskUI использует Jest в качестве средства запуска.

1. Измените testEnvironmentOptions Jest.

В файле Askui_example/helpers/jest.config.ts необходимо отключить включение кода в отчет о запуске. Этого можно добиться, добавив свойство testEnvironmentOptions со свойством addCodeInReport, имеющим значение false.

const config: Config.InitialOptions = {
  ...
  testEnvironment: '@askui/jest-allure-circus',
  testEnvironmentOptions: {
    addCodeInReport: false
  },
};
...

2. Сообщите Jest, где найти реализацию определений шагов

Также в Askui_example/helpers/jest.config.ts вам необходимо расширить свойство testMatch по умолчанию. Он должен включать файлы, оканчивающиеся на Step.ts, потому что там мы будем хранить реализацию.

...
const config: Config.InitialOptions = {
  ...
  testEnvironment: '@askui/jest-allure-circus',
  testEnvironmentOptions: {
    addCodeInReport: false
  },
  testMatch: [ "**/__tests__/**/*.[jt]s?(x)", "**/?(*.) (spec|test|step).[jt]s?(x)" ]
};
...
s?(x)", "**/?(*.) (spec|test|step).[jt]s?(x)" ] }; ...

Установить jest-огурец


Самый простой способ использовать Jest вместе с Cucumber — это npm-package jest-cucumber. Давайте установим его с помощью следующей команды:

npm install --save-dev jest-cucumber
npm install --save-dev jest-cucumber

Создайте файл основных функций

Создайте папку Features и добавьте в нее файл Feature
NavigateToWebsite.feature

npm install --save-dev jest-cucumber
корень_проекта/ ├─ Askui_example/ ├─ особенности/ ├─ NavigateToWebsite.feature ├─ node_modules/ ├─ ...

Запишите в этот файл следующую базовую функцию
:

npm install --save-dev jest-cucumber
Функция: переход на веб-сайт. Сценарий: ввод правильного URL-адреса в адресную строку браузера. Учитывая, что я нахожусь на странице поиска Google Когда я ввожу URL-адрес страницы практики AskUI Затем я попаду на веб-страницу

Создайте реализации определений шагов


Создайте файл определения шага Askui_example/navigate-to-url.step.ts, где каждый тест соответствует определенному сценарию.

npm install --save-dev jest-cucumber
import { defineFeature, loadFeature } из 'jest-cucumber'; импортировать { aui } из './helpers/askui-helper'; // Загрузите файл объекта const Feature = loadFeature('features/NavigateToWebsite.feature'); defineFeature(функция, тест => { // Сопоставляется со «Сценарием» в вашем файле объектов test('Ввод правильного URL-адреса в адресную строку браузера', ({ задано, когда, затем }) => { задано('Я на странице поиска Google', async () => { дождитесь aui.moveMouse(500, 500).exec(); дождитесь aui.mouseLeftClick().exec(); дождитесь aui.pressTwoKeys('command', 't').exec(); }); When('Я ввожу URL-адрес страницы практики AskUI', async () => { ожидайте aui.typeIn('https://askui.github.io/askui-practice-page/').textfield().exec(); дождитесь aui.pressKey('enter').exec(); }); then('Я перейду на веб-страницу', async () => { await aui.expect().text('Добро пожаловать на страницу практики AskUI').exists().exec(); }); }); });

Запустите рабочий процесс


Откройте браузер в полноэкранном режиме и начните рабочий процесс с помощью:

npm install --save-dev jest-cucumber
npm run Askui

Вы должны увидеть, что при запуске рабочего процесса откроется новая вкладка и вы перейдете на страницу практики AskUI.

Заключение

Объединение AskUI с Cucumber позволяет писать рабочие процессы AskUI в стиле BDD. Выполнение ваших тестов как настоящий пользователь сделает их более реалистичными для каждой заинтересованной стороны.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/askui/use-askui-and-cucumber-together-2803?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3