Reporter.LaporkanKejadian di UFT/QTP dengan Contoh
⚡ Ringkasan Cerdas
Reporter.LaporkanKejadian di UFT/QTP Mengirimkan pesan khusus lulus, gagal, peringatan, dan informasi langsung ke Penampil Hasil Eksekusi menggunakan konstanta status micPass, micFail, micDone, dan micWarning, memberikan penguji catatan langkah demi langkah yang mudah dibaca tentang apa yang sebenarnya dilakukan oleh skrip otomatis.

Apa itu Reporter.ReportEvent di UFT/QTP?
Reporter.ReportEvent adalah metode standar yang terintegrasi UFT/QTP (sekarang dijual sebagai OpenText/Fokus Mikro UFT Satu) yang menulis pesan khusus yang mudah dibaca manusia langsung ke jendela hasil pengujian. Tidak seperti putusan lulus atau gagal otomatis yang dihasilkan oleh checkpoint bawaan, panggilan ReportEvent memungkinkan penguji untuk memutuskan dengan tepat apa yang dicatat, kapan, dan bagaimana seharusnya diberi label.
Kredensial mikro HP QTP tutorial mendemonstrasikan penggunaan fungsi tersebut Reporter.ReportEvent ke Pemformatan HasilTutorial ini meminta Anda untuk membuat skrip pendek, dan menyelesaikan latihan pembuatan skrip tersebut adalah cara tercepat untuk melihat pembaruan pelaporan khusus pada pohon Hasil secara real-time.
Klik di sini jika video tidak dapat diakses
Reporter.ReportEvent sangat penting dalam otomatisasi karena skrip biasanya dijalankan tanpa pengawasan, sesuai jadwal, atau di dalam pipeline CI/CD. File hasil eksekusi menjadi satu-satunya catatan tentang apa yang terjadi, sehingga langkah yang gagal tanpa pemberitahuan, atau berhasil tanpa penjelasan, membuat proses debugging jauh lebih sulit di kemudian hari. Menambahkan panggilan ReportEvent secara eksplisit setelah tindakan kritis mengubah pohon Hasil menjadi jejak audit langkah demi langkah yang mudah dibaca yang dapat ditinjau oleh penguji, pengembang, atau manajer tanpa perlu membuka skrip itu sendiri.
Ini berbeda dengan titik pemeriksaan objek, yang UFT Menghasilkan laporan secara otomatis menggunakan nama langkah default-nya sendiri. Reporter.ReportEvent memungkinkan Anda untuk melampirkan bahasa yang bermakna secara bisnis, seperti "Konfirmasi pesanan ditampilkan" daripada "Check Point Pass pada objek WebEdit" yang generik, yang jauh lebih mudah dibaca oleh pemangku kepentingan non-teknis dalam laporan akhir. Metode ini bekerja dengan cara yang sama terlepas dari apakah skrip tersebut menargetkan halaman web, atau Windows aplikasi desktop, atau terminal mainframe, karena Reporter adalah objek global dan bukan properti dari objek pengujian tertentu.
Guru99 ini UFT/QTP Seri ini membahas metode ini tepat setelahnya. Pernyataan If, Else, dan Exists, karena sebagian besar panggilan Reporter.ReportEvent berada di dalam blok kondisional yang menentukan apakah hasilnya harus dilaporkan sebagai micPass atau micFail.
Sintaks Reporter.ReportEvent dan Nilai EventStatus
Anda dapat menggunakan Reporter.ReportEvent untuk melaporkan langkah-langkah pengujian khusus di Micro Focus UFTPohon hasil pengujian. Metode ini menerima tiga argumen wajib dan satu argumen opsional, dalam urutan tetap, seperti yang ditunjukkan di bawah ini.
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
Status Acara mengatur ikon dan warna yang ditampilkan untuk langkah tersebut dan dapat mengubah status keseluruhan proses; LaporanLangkahNama adalah label singkat yang muncul di pohon Hasil Pengujian, umumnya ditulis sebagai hasil yang diharapkan; Detail berisi deskripsi yang lebih panjang, biasanya hasil aktual yang diamati; dan opsional. JalurBerkasGambar melampirkan tangkapan layar yang diambil sebelumnya dalam skrip ke langkah spesifik tersebut.
| NILAI | CONSTANT | PENGARUH TERHADAP HASIL | PENGARUH TERHADAP STATUS JALAN |
|---|---|---|---|
| 0 | micPass | Langkah tersebut ditampilkan sebagai Lulus di pohon Hasil. | Tidak ada perubahan; tes tetap dinyatakan lulus. |
| 1 | micFail | Langkah tersebut ditampilkan sebagai Gagal di pohon Hasil. | Status keseluruhan proses berubah menjadi Gagal. |
| 2 | micDone | Langkah tersebut ditampilkan sebagai pesan informatif. | Tidak ada perubahan pada status Lulus/Gagal |
| 3 | Peringatan mikrofon | Langkah tersebut ditampilkan sebagai peringatan. | Tidak ada perubahan pada status Lulus/Gagal |
Setiap konstanta juga dapat dilewatkan sebagai nilai numeriknya, bukan namanya, jadi Reporter.ReportEvent 1, “Langkah”, “Detail” berperilaku persis seperti Reporter.ReportEvent micFail, “Langkah”, “Detail”Menggunakan konstanta bernama akan lebih mudah dibaca dalam skrip yang nantinya akan dipelihara oleh penguji lain.
Sebuah skrip biasanya menyertakan beberapa panggilan ReportEvent di dalam satu aksi: sebuah entri micDone sebelum aksi dimulai, satu entri micPass atau micFail untuk pemeriksaan kunci, dan entri micWarning tambahan untuk hal-hal tidak biasa yang terdeteksi selama proses berlangsung.
- Saat kasus uji dieksekusi menggunakan alat otomatisasi, beberapa pengguna mungkin kesulitan memahami hasil pengujian mentah. Anda dapat menggunakan Gunakan results.xml untuk membuat file XSL yang menyajikan hasil pengujian sesuai preferensi Anda..
- Anda juga dapat menggunakan vbscript fungsi pustaka untuk simpan hasilnya dalam file xls atau file teks untuk pelaporan di luar UFT.
Cara Menggunakan Reporter.ReportEvent: Contoh Praktis
Mengetahui sintaksnya adalah satu hal; melihatnya di dalam skrip nyata adalah yang membuat keempat konstanta status tersebut menjadi mudah dipahami. Contoh di bawah ini membungkus sebuah pengecekan di dalam pernyataan If…Then…Else, kemudian melaporkan lulus atau gagal dengan Reporter.ReportEvent sehingga hasilnya muncul di pohon Hasil tepat di tempat yang diharapkan oleh peninjau.
If Browser("Guru99 Demo").Page("Guru99 Demo").WebButton("Login").Exist(5) Then Reporter.ReportEvent micPass, "Login button check", "Login button was found on the page" Else Reporter.ReportEvent micFail, "Login button check", "Login button was not found on the page" End If
Ini mencerminkan pola yang ditunjukkan pada Guru99 ini Pernyataan kondisional VBScript Tutorial ini menggunakan blok If…Then…Else yang memilih di antara dua hasil; satu-satunya perbedaan di sini adalah setiap cabang juga memanggil Reporter.ReportEvent untuk mencatat hasilnya.
penggunaan micDone untuk langkah yang murni bersifat informatif, dan Peringatan mikrofon Ketika sesuatu tampak tidak biasa tetapi seharusnya tidak langsung menyebabkan kegagalan eksekusi. Cuplikan berikutnya mencatat langkah entri data sebagai Selesai, kemudian menandai respons yang lambat sebagai Peringatan dan melampirkan tangkapan layar menggunakan argumen ImageFilePath opsional.
Reporter.ReportEvent micDone, "Enter search text", "Typed 'UFT tutorial' into the search box" errorImage = "C:\Results\SearchDelay.png" Browser("Guru99 Demo").CaptureBitmap errorImage, True Reporter.ReportEvent micWarning, "Search response time", "Results took longer than 5 seconds to load", errorImage
Menjaga LaporanLangkahNama singkat dan tetap Detail Spesifik mengenai hasil sebenarnya. Seorang peninjau yang memindai ratusan langkah yang tercatat setelah eksekusi semalaman yang gagal seharusnya dapat mengetahui apa yang terjadi tanpa membuka skrip itu sendiri, dan pola penamaan yang konsisten di setiap tindakan membuat pemindaian itu jauh lebih cepat.
Tim yang memanggil ReportEvent dari banyak skrip sering memindahkan logika ini ke dalam fungsi VBScript bersama, seperti LogStep(status, name, details), sehingga setiap skrip menghasilkan pohon Hasil yang konsisten tanpa mengulangi blok If…Then yang sama.
Properti Objek Reporter: Filter, ReportPath, dan RunStatus
Reporter.ReportEvent bukanlah satu-satunya anggota dari objek Reporter. Tiga properti tambahan memberikan kontrol ekstra atas apa yang terkandung dalam hasil dan di mana hasilnya ditampilkan. UFT menyimpan data tersebut, dan data tersebut sering muncul dalam kerangka kerja otomatisasi produksi.
| PROPERTI | TUJUAN | PENGGUNAAN UMUM |
|---|---|---|
| Filter | Mengontrol jenis kejadian mana yang ditulis ke hasil. | Reporter.Filter = rfEnableErrorsAndWarnings menyembunyikan langkah-langkah yang telah dilewati dalam jangka panjang. |
| ReportPath | Hanya baca; mengembalikan folder tempat hasil eksekusi saat ini disimpan. | resultsFolder = Reporter.ReportPath |
| Status Eksekusi | Hanya baca; mengembalikan status Lulus/Gagal dari proses yang telah berjalan sejauh ini. | Jika Reporter.RunStatus = micFail Maka Keluar dari Aksi |
Reporter.Filter menerima empat nilai: 0 atau rfEnableAll menampilkan setiap kejadian dan merupakan nilai default; 1 atau rfEnableErrorsAndWarnings menyembunyikan langkah-langkah yang berhasil; 2 atau rfEnableErrorsOnly menyembunyikan langkah-langkah yang berhasil dan peringatan; dan 3 atau rfDisableAll mematikan pencatatan hasil sepenuhnya. Memeriksa Reporter.RunStatus di tengah skrip memungkinkan pengujian untuk membuat cabang logikanya sendiri, misalnya melewatiping langkah-langkah yang tersisa dalam suatu tindakan setelah langkah sebelumnya gagal.
Karena ReportPath dan RunStatus bersifat hanya baca, Anda tidak dapat menetapkan nilai padanya; gunakan keduanya untuk membaca informasi tentang eksekusi saat ini, misalnya menulis jalur folder hasil ke file log di awal skrip, atau menghentikan tindakan yang memakan waktu lama setelah kegagalan fatal. Membaca properti ini hanya menambah sedikit beban, sehingga aman untuk memeriksa Reporter.RunStatus setelah setiap langkah utama dalam rangkaian regresi yang panjang tanpa memperlambat eksekusi secara signifikan.
Praktik Terbaik untuk Reporter.ReportEvent di UFT
Beberapa kebiasaan penting membuat pelaporan khusus tetap bermanfaat dan tidak menimbulkan masalah.
- Gunakan micFail hanya untuk kegagalan yang sesungguhnya: Setiap panggilan micFail mengubah Reporter.RunStatus, jadi menggunakannya untuk masalah kosmetik akan menyembunyikan cacat sebenarnya di kemudian hari dalam proses yang sama.
- Tulis ReportStepName seperti hasil yang diharapkan: Seorang penilai seharusnya dapat memahami pemeriksaan hanya dari nama langkahnya saja, tanpa perlu membaca kolom Detail.
- Ambil tangkapan layar hanya jika terjadi kegagalan: Meneruskan ImageFilePath di setiap langkah akan dengan cepat memenuhi folder hasil dan memperlambat proses tanpa memberikan manfaat yang berarti.
- Saring data yang menimbulkan gangguan: Atur Reporter.Filter ke rfEnableErrorsAndWarnings untuk eksekusi terjadwal atau CI agar langkah-langkah yang berhasil tidak menutupi kegagalan yang penting.
- Pusatkan logikanya: Bungkus panggilan Reporter.ReportEvent di dalam yang dapat digunakan kembali. tindakan atau pustaka fungsi sehingga setiap skrip dalam rangkaian tersebut mencatat hasil dengan cara yang sama.
- Ekspor untuk pembaca non-teknis: Gabungkan results.xml dengan XSL kustom ketika pemangku kepentingan di luar tim QA perlu meninjau hasil tanpa membuka file. UFT.
