Gunakan AskUI dan Timun Bersama

PHPz
Lepaskan: 2024-07-24 19:03:29
asal
353 orang telah melayarinya

Gunakan AskUI dan Timun Bersama

Dengan mentakrifkan gelagat sistem dalam format berstruktur seperti Gherkin, Pembangunan Didorong Tingkah Laku (BDD) membolehkan pasukan merapatkan jurang antara pihak berkepentingan, penguji dan pembangun, mengelakkan salah faham dan mengurangkan kerja semula. Sebagai pendekatan kolaboratif, BDD menggalakkan semua pihak untuk bekerjasama dari awal lagi, memastikan semua orang berada di
halaman yang sama dan keperluan itu ditangkap dengan tepat.

Dalam proses ini, Timun ialah alat popular yang digunakan untuk melaksanakan BDD, membolehkan pasukan menulis ujian yang jelas dan boleh dilaksanakan yang memastikan sistem berkelakuan seperti yang diharapkan.

Dalam catatan blog ini, kami akan menunjukkan kepada anda cara menyediakan Timun bersama AskUI untuk menentukan aliran kerja AskUI menggunakan prinsip 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

Prasyarat

  • AskUI dipasang dan dikonfigurasikan pada sistem anda (Windows, Linux, macOS)

  • Padam askui_example/my-first-askui-test-suite.test.ts selepas pemula

Sediakan Persediaan

Timun tidak berfungsi dengan baik dengan persediaan lalai AskUI lagi (Versi 0.20.3). Untuk AskUI bermain bagus dengan Cucumber, anda perlu melakukan dua persediaan kecil kerana AskUI menggunakan Jest sebagai pelarinya.

1. Tukar Jest's testEnvironmentOptions

Dalam fail askui_example/helpers/jest.config.ts anda perlu melumpuhkan kod itu disertakan dalam laporan jalankan. Anda mencapai ini dengan menambahkan sifat testEnvironmentOptions dengan sifat addCodeInReport ditetapkan kepada palsu.

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

2. Beritahu Jest Di Mana Untuk Mencari Pelaksanaan untuk Definisi Langkah

Juga dalam askui_example/helpers/jest.config.ts anda perlu mengembangkan sifat testMatch lalai. Ia mesti termasuk fail yang berakhir dengan step.ts kerana kami akan menyimpan pelaksanaan di sana.

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

Pasang jest-timun

Cara paling mudah untuk menggunakan Jest bersama Timun ialah npm-package jest-cucumber. Mari pasang dengan arahan berikut:

npm install --save-dev jest-cucumber
Salin selepas log masuk

Cipta Fail Ciri Asas

Buat ciri folder dan di dalamnya terdapat fail Ciri NavigateToWebsite.feature

project_root/
├─ askui_example/
├─ features/
  ├─ NavigateToWebsite.feature
├─ node_modules/
├─ ...
Salin selepas log masuk

Tulis asas berikut Ciri ke dalam fail ini:

Feature: Navigate to a website

Scenario: Entering the correct URL into the browser address bar
  Given I am on the Google search page
  When I type in the URL for AskUI practice page
  Then I will land on the webpage
Salin selepas log masuk

Cipta Pelaksanaan Definisi Langkah

Buat fail definisi langkah askui_example/navigate-to-url.step.ts di mana setiap ujian memetakan kepada senario tertentu.

import { defineFeature, loadFeature } from 'jest-cucumber';
import { aui } from './helpers/askui-helper';

// Load the feature file
const feature = loadFeature('features/NavigateToWebsite.feature');

defineFeature(feature, test => {

  // Maps to 'Scenario' in your feature file
  test('Entering the correct URL into the browser address bar', ({ given, when, then }) => {

    given('I am on the Google search page', async () => {
      await aui.moveMouse(500, 500).exec();
      await aui.mouseLeftClick().exec();
      await aui.pressTwoKeys('command', 't').exec();
    });

    when('I type in the URL for AskUI practice page', async () => {
      await aui.typeIn('https://askui.github.io/askui-practice-page/').textfield().exec();
      await aui.pressKey('enter').exec();
    });

    then('I will land on the webpage', async () => {
      await aui.expect().text('Welcome to the AskUI Practice Page').exists().exec();
    });

  });
});
Salin selepas log masuk

Jalankan Aliran Kerja

Buka penyemak imbas anda dalam skrin penuh dan mulakan aliran kerja dengan:

npm run askui
Salin selepas log masuk

Anda sepatutnya melihat bahawa aliran kerja yang dijalankan akan membuka tab baharu dan menavigasi ke halaman amalan AskUI.

Kesimpulan

Menggabungkan AskUI dengan Timun membolehkan anda menulis aliran kerja AskUI dalam gaya BDD. Melaksanakan ujian anda seperti pengguna manusia sebenar akan menjadikannya lebih realistik untuk setiap pemegang kepentingan.

Atas ialah kandungan terperinci Gunakan AskUI dan Timun Bersama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!