Сярэда выканання, якая працуе выключна з мовай Rust.
Працуе ў рамках аднаго працэсу Rust. Не патрабуе знешніх браўзераў, WebDriver або залежнасцей ад Node.js.
Зыходны код / Кантэйнер.
"browser-tester" – гэта праграма для тэставання, якая імітуе працу браўзера і рэалізавана на мове Rust. Яна праводзіць праверку структуры DOM і працы падзей, не запускаючы сапраўдны браўзер.
Праграма "browser-tester" у першую чаргу прызначана для праверкі прадуглечаных паводзін элементаў формы і інтэрфейсу, а не для ацэнкі сумяшчальнасці з рознымі браўзерамі ў плане поўнага адлюстравання.
Працуе ў рамках аднаго працэсу Rust. Не патрабуе знешніх браўзераў, WebDriver або залежнасцей ад Node.js.
Платформа была распрацавана для правядзення паўторных тэстаў: яна ўключае ў сябе імітатар гадзінніка, вызначаны выпадковы генератар і API для кантролю таймера.
Падтрымлівае практычныя функцыі, падобныя на працу браўзера: выбар элементаў, выкананне ўбудаваных сцэнарыяў, распаўсюджанне падзей і абнаўленне DOM-структуры.
Хуткае атрыманне вынікаў для тэставання інтэрфейсаў, арыентаванага на формы, пры гэтым інфармацыя пра памылкі заўсёды змяшчае інфармацыю пра выбіральнікі і адпаведныя/фактычныя значэнні.
Стварыце тэставы фрэймворк з выкарыстаннем HTML, запусціце інтэракцыі і праверце вынікі DOM. Пачніце з невялікай тэставай канфігурацыі і паступова пашырайце яе, дадаючы таймеры і макеты API.
Усталяваць.
cargo: дадаць пакет "browser_tester".
Базовы прыклад.
Асноўныя аперацыі тэставання 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`, каб імітаваць адказы сервера і вынікі дыялогаў.
Уключыце функцыю трасіроўкі і выманне інфармацыі пра паслядоўнасць падзей/таймераў у выпадку збоі тэсту. Гэта можа быць карысна для выяўлення памылак у паслядоўнасці падзей і праверкі працы дзеянняў па змаўненні.
Калі вам неабходныя дадатковыя API для браўзера для вашага набору тэстаў, адкрыйце запыт з мінімальным праектам для абмеркавання аб'ёсу і прыярытэту.