បរិស្ថានដំណើរការ Rust សុទ្ធ
ដំណើរការនៅក្នុងដំណើរការ Rust តែមួយ។ មិនត្រូវការកម្មវិធីរុករកខាងក្រៅ, WebDriver ឬ Node.js ទេ។
ប្រភពបើកចំហ / កញ្ចប់ Rust
browser-tester គឺជាបរិស្ថានដំណើរការសាកល្បងដូចកម្មវិធីរុករកដែលកំណត់បានច្បាស់ បង្កើតឡើងក្នុង Rust សុទ្ធ។ វាផ្ទៀងផ្ទាត់ឥរិយាបថ DOM និងព្រឹត្តិការណ៍ ដោយមិនបើកកម្មវិធីរុករកពិត។
browser-tester ផ្តោតលើការសាកល្បងឥរិយាបថទម្រង់/UI ដែលអាចទស្សន៍ទាយបាន ជំនួសឲ្យភាពឆបគ្នាពេញលេញនៃការបង្ហាញដោយកម្មវិធីរុករក។
ដំណើរការនៅក្នុងដំណើរការ Rust តែមួយ។ មិនត្រូវការកម្មវិធីរុករកខាងក្រៅ, WebDriver ឬ Node.js ទេ។
បង្កើតសម្រាប់តេស្តដែលអាចធ្វើឡើងដដែលៗបាន៖ នាឡិកាក្លែងក្លាយ, គ្រាប់ពូជចៃដន្យដែលកំណត់បានច្បាស់ និង API សម្រាប់គ្រប់គ្រងកម្មវិធីកំណត់ពេលយ៉ាងច្បាស់។
គាំទ្រលំហូរដូចកម្មវិធីរុករកជាក់ស្តែង៖ ឧបករណ៍ជ្រើស, ការដំណើរការស្គ្រីបក្នុងបន្ទាត់, ការផ្សព្វផ្សាយព្រឹត្តិការណ៍ និងការធ្វើបច្ចុប្បន្នភាព DOM។
វដ្តមតិត្រឡប់លឿនក្នុងមូលដ្ឋានសម្រាប់តេស្ត UI ផ្តោតលើទម្រង់ ខណៈរក្សាទិន្នផលបរាជ័យឲ្យផ្តោតលើឧបករណ៍ជ្រើស និងតម្លៃរំពឹង/ជាក់ស្តែង។
បង្កើតហារនេសពី HTML រត់អន្តរកម្ម ហើយផ្ទៀងផ្ទាត់លទ្ធផល DOM។ ចាប់ផ្តើមពីគំរូតូចមួយ ហើយពង្រីកដោយ API សម្រាប់កម្មវិធីកំណត់ពេល និងការក្លែង។
ដំឡើង
cargo add browser_tester
ឧទាហរណ៍មូលដ្ឋាន
use browser_tester::Harness;
fn main() -> browser_tester::Result<()> {
let html = r#"..."#;
let mut h = Harness::from_html(html)?;
h.type_text("#name", "Alice")?;
h.click("#submit")?;
h.assert_text("#result", "Hello, Alice")?;
Ok(())
}
ប្រតិបត្តិការស្នូលសម្រាប់សាកល្បង DOM៖ Harness::from_html, type_text, set_checked, click, submit និងជំនួយការសម្រាប់អះអាងអំពីអត្ថបទ/តម្លៃ/បានធីក/វត្តមាន។
គ្រប់គ្រងឥរិយាបថអសមកាលដោយនាឡិកាក្លែងក្លាយ។ ដំណើរការពេលវេលាឲ្យបានកំណត់ជាមុនដោយ advance_time, advance_time_to, flush និង API សម្រាប់ពិនិត្យកម្មវិធីកំណត់ពេល។
បញ្ចូលការឆ្លើយតប fetch និងលទ្ធផលប្រអប់សន្ទនា ដោយ set_fetch_mock, enqueue_confirm_response និង enqueue_prompt_response ដើម្បីរក្សាការសាកល្បងឯករាជ្យ។
បើកកំណត់ហេតុតាមដាន ហើយទាញយកលំហូរព្រឹត្តិការណ៍/កម្មវិធីកំណត់ពេល នៅពេលតេស្តបរាជ័យ។ មានប្រយោជន៍សម្រាប់កែបញ្ហាលំដាប់ព្រឹត្តិការណ៍ និងសកម្មភាពលំនាំដើម។
បើអ្នកត្រូវការបន្ថែម API របស់កម្មវិធីរុករកសម្រាប់សំណុំតេស្តរបស់អ្នក សូមបើកបញ្ហាមួយជាមួយនឹងគំរូតូចបំផុត ដើម្បីពិភាក្សាអំពីវិសាលភាព និងអាទិភាព។