Зыходны код / Кантэйнер.

тэставанне працы ў вэб-браўзэры.

"browser-tester" – гэта праграма для тэставання, якая імітуе працу браўзера і рэалізавана на мове Rust. Яна праводзіць праверку структуры DOM і працы падзей, не запускаючы сапраўдны браўзер.

Коррозія. Дэтамініраванае выканаванне ў час працы. Тэставанне DOM.

У чым заключаецца перавага гэтай праграмы? / У чым заключаецца карыснасць гэтага пакета праграмнага забеспячэння?

Праграма "browser-tester" у першую чаргу прызначана для праверкі прадуглечаных паводзін элементаў формы і інтэрфейсу, а не для ацэнкі сумяшчальнасці з рознымі браўзерамі ў плане поўнага адлюстравання.

Сярэда выканання, якая працуе выключна з мовай Rust.

Працуе ў рамках аднаго працэсу Rust. Не патрабуе знешніх браўзераў, WebDriver або залежнасцей ад Node.js.

Дэтерміністычнае выкананне.

Платформа была распрацавана для правядзення паўторных тэстаў: яна ўключае ў сябе імітатар гадзінніка, вызначаны выпадковы генератар і API для кантролю таймера.

DOM і тэставанне падзей.

Падтрымлівае практычныя функцыі, падобныя на працу браўзера: выбар элементаў, выкананне ўбудаваных сцэнарыяў, распаўсюджанне падзей і абнаўленне DOM-структуры.

Хуткае атрыманне адклікаў на мясцовым узроўні.

Хуткае атрыманне вынікаў для тэставання інтэрфейсаў, арыентаванага на формы, пры гэтым інфармацыя пра памылкі заўсёды змяшчае інфармацыю пра выбіральнікі і адпаведныя/фактычныя значэнні.

Хуткі старт.

Стварыце тэставы фрэймворк з выкарыстаннем HTML, запусціце інтэракцыі і праверце вынікі DOM. Пачніце з невялікай тэставай канфігурацыі і паступова пашырайце яе, дадаючы таймеры і макеты API.

Усталяваць.

cargo: дадаць пакет "browser_tester".

Базовы прыклад.

Асноўны інтэрфейс праграмавання (API).

Дзеянні і сцвярджэнні, звязаныя з выкарыстаннем магчымасцей.

Асноўныя аперацыі тэставання DOM: Harness::from_html, type_text, set_checked, click, submit, а таксама дапаможныя функцыі для праверкі тэксту, значэння, статусу "адзначана" і наяўнасці элемента.

Дэтэрміністычныя таймеры.

Кіруйце асінхроннай працай з дапамогай імітаванага гадзінніка. Перамяшчайце час вызначаным спосабам, выкарыстоўваючы функцыі `advance_time`, `advance_time_to`, `flush` і API для праверкі таймера.

Убудаваныя макеты.

Для ізаляцыі тэстаў выкарыстоўвайце функцыі `set_fetch_mock`, `enqueue_confirm_response` і `enqueue_prompt_response`, каб імітаваць адказы сервера і вынікі дыялогаў.

Трасіроўка і дыягностыка.

Уключыце функцыю трасіроўкі і выманне інфармацыі пра паслядоўнасць падзей/таймераў у выпадку збоі тэсту. Гэта можа быць карысна для выяўлення памылак у паслядоўнасці падзей і праверкі працы дзеянняў па змаўненні.

Палітыка працы ў рэжыме працы.

  • Функцыя "eval" намезна не падтрымліваецца з мэтай захавання бяспекі і прадказальнасці працы.
  • Гэтая версія праграмнага забеспячэння прызначана для практычных тэставых сцэнарыяў, а не для 100% сумяшчальнасці з рэальнымі браўзерамі.
  • Знешні ўзаемадзейнік з сеткай не ўваходзіць у сферу разгляду; для тэставання выкарыстоўвайце макеты функцыі "fetch".

Калі вам неабходныя дадатковыя API для браўзера для вашага набору тэстаў, адкрыйце запыт з мінімальным праектам для абмеркавання аб'ёсу і прыярытэту.