Identifikasi Cerdas di QTP/UFT dengan Contoh
⚡ Ringkasan Cerdas
Identifikasi Cerdas adalah mekanisme cadangan dalam UFT Salah satu cara untuk menemukan objek ketika deskripsi yang dipelajari tidak lagi sesuai dengan aplikasi yang sedang diuji, menggunakan properti filter dasar dan opsional untuk mempersempit daftar kandidat hingga hanya satu yang cocok.
Apa itu Identifikasi Cerdas? QTP/UFT?
Identifikasi Cerdas adalah mekanisme pengenalan objek cadangan di OpenText UFT Pertama, alat yang sebelumnya dikenal sebagai HP QuickTest Professional (QTPJika proses identifikasi normal tidak dapat menemukan kecocokan unik untuk deskripsi objek yang telah dipelajari, UFT Memicu Identifikasi Cerdas, dengan syarat mekanisme tersebut diaktifkan dalam pengaturan Identifikasi Objek untuk kelas objek tersebut.
Berbeda dengan deskripsi yang dipelajari, Identifikasi Cerdas tidak memerlukan kecocokan persis pada setiap properti yang tersimpan. Ia mengevaluasi dua kategori properti untuk mempersempit kumpulan objek kandidat menjadi tepat satu:
- Properti Filter Dasar. Sifat-sifat paling mendasar dari kelas objek pengujian; sifat-sifat yang nilainya tidak dapat diubah tanpa mengubah esensi dari objek aslinya.
- Properti Filter Opsional. Properti pendukung yang membantu mengidentifikasi suatu objek tetapi lebih cenderung berubah seiring waktu.
Saat Identifikasi Cerdas dijalankan, UFT "Melupakan" deskripsi yang telah dipelajari dan membangun kembali daftar kandidat baru yang berisi setiap objek yang cocok dengan semua Properti Filter Dasar. Kemudian, daftar tersebut dipersempit lebih lanjut, dengan memeriksa Properti Filter Opsional satu per satu, hingga hanya tersisa satu objek.
Jika Identifikasi Cerdas diaktifkan selama sesi eksekusi, pohon hasil pengujian mencatat pesan peringatan yang mengkonfirmasi bahwa mekanisme tersebut telah digunakan, dan langkah Identifikasi Cerdas dimasukkan ke dalam hasil sehingga penyimpangan dari deskripsi yang dipelajari tetap terlihat.
Identifikasi Cerdas berada di urutan ketiga dalam UFTHierarki identifikasi objek, setelah deskripsi yang dipelajari dan Pengidentifikasi Relasi Visual apa pun, dan sebelum pengidentifikasi ordinal yang digunakan sebagai upaya terakhir. Memahami di mana posisinya menjelaskan mengapa menonaktifkannya sepenuhnya, daripada memperbaiki properti yang mendasarinya, jarang menjadi pilihan jangka panjang terbaik untuk skrip yang sering dijalankan.
Properti Filter Dasar vs Properti Filter Opsional
Kedua filter tersebut bekerja bersama-sama, tetapi memainkan peran yang berbeda dalam proses eliminasi yang dijelaskan di atas. Perbandingan di bawah ini menjelaskan kapan masing-masing digunakan dan seberapa besar daya eliminasi yang dimilikinya.
| Aspek | Properti Filter Dasar | Properti Filter Opsional |
|---|---|---|
| Peran | Buat daftar kandidat awal. | Persempit daftar kandidat menjadi satu objek. |
| Stabilitas | Hampir tidak pernah berubah tanpa mengubah identitas objek tersebut. | Dapat berubah secara berkala tanpa mengubah identitas objek. |
| Aturan pencocokan | Setiap kandidat harus memenuhi semua properti dasar. | Satu properti diperiksa pada satu waktu; suatu properti dilewati jika hal itu akan menghilangkan semua kandidat. |
| Contoh tipikal | Tag HTML, kelas objek, indeks | Nama, ID HTML, teks alt, sumber gambar |
| Di tempat yang dikonfigurasi | Identifikasi Objek > Konfigurasi > Properti Filter Dasar | Identifikasi Objek > Konfigurasi > Properti Filter Opsional |
Karena properti yang sama tidak dapat berada di kedua daftar, rencanakan pemisahannya dengan cermat. Properti yang mendefinisikan apa sebenarnya suatu objek termasuk dalam daftar dasar; properti yang hanya membantu membedakannya dari objek serupa termasuk dalam daftar opsional.
Cara Kerja Identifikasi Cerdas: Proses Langkah demi Langkah
Identifikasi Cerdas hanya aktif setelah deskripsi yang dipelajari, dan Pengidentifikasi Relasi Visual apa pun, gagal menunjukkan satu objek pun. Setelah diaktifkan, UFT bekerja melalui proses eliminasi empat langkah yang dapat diprediksi:
- Susun ulang daftar kandidat. UFT Mengabaikan deskripsi yang telah dipelajari dan memindai induk objek untuk setiap objek yang cocok dengan semua Properti Filter Dasar.
- Terapkan properti opsional pertama. UFT Menghapus kandidat mana pun yang tidak sesuai dengan properti pertama dalam daftar Properti Filter Opsional.
- Evaluasilah hasilnya. Jika lebih dari satu kandidat tersisa, UFT mengulangi langkah sebelumnya dengan properti opsional berikutnya. Jika filter akan menghilangkan setiap kandidat yang tersisa, UFT Melewati properti tersebut dan beralih ke properti berikutnya.
- Berhenti di satu pertandingan saja. UFT Mengulangi siklus penyaringan dan evaluasi hingga hanya tersisa satu objek, atau hingga kehabisan properti opsional untuk diperiksa.
Jika proses eliminasi masih belum dapat mengisolasi satu objek pun, UFT Sistem akan kembali menggunakan deskripsi yang telah dipelajari ditambah pengidentifikasi ordinal, seperti indeks, lokasi, atau waktu pembuatan. Jika kombinasi tersebut pun gagal mengidentifikasi objek, sesi eksekusi akan berhenti dan menampilkan kesalahan saat eksekusi.
Cara Mengaktifkan atau Menonaktifkan Identifikasi Cerdas
Identifikasi Cerdas dikonfigurasi per kelas objek pengujian dari Alat > Identifikasi ObjekPilih lingkungan dan kelas objek, lalu aktifkan. Aktifkan Identifikasi Cerdas, Lalu klik Konfigurasi untuk memilih Properti Filter Dasar dan Opsional untuk kelas tersebut. Dialog yang sama memungkinkan Anda untuk menonaktifkan opsi tersebut untuk kelas yang seharusnya selalu menggunakan deskripsi yang telah dipelajari.
Cara Kerja Identifikasi Cerdas (Panduan Video)
Video di bawah ini menjelaskan proses penghapusan filter dasar dan opsional pada contoh nyata.
Klik di sini jika video tidak dapat diakses
Keuntungan dan Kerugian Menggunakan Identifikasi Cerdas
Identifikasi Cerdas menambah ketahanan, tetapi ketahanan tersebut membawa biaya waktu eksekusi. Pertimbangkan kedua sisi sebelum membiarkannya diaktifkan secara default di seluruh repositori objek.
- ✅ Tetap berfungsi meskipun ada perubahan UI kecil: Atribut yang diganti namanya atau posisi yang digeser di halaman tidak lagi merusak setiap skrip yang menyentuh objek tersebut.
- ✅ Mengurangi pemeliharaan repositori objek: Para penguji menghabiskan lebih sedikit waktu untuk merekam ulang objek setelah rilis front-end kecil.
- ✅ Tetap terlihat di hasil pencarian: Setiap pemanggilan mencatat peringatan, sehingga tim dapat mengaudit seberapa sering mekanisme cadangan benar-benar dibutuhkan.
- ⚠️ Eksekusi pengujian lebih lambat: Membangun dan menyaring daftar kandidat membutuhkan waktu yang jauh lebih lama daripada pencocokan properti secara langsung, dan biayanya berlipat ganda jika jumlah kandidatnya banyak.
- ⚠️ Dapat menutupi cacat sebenarnya: Jika Identifikasi Cerdas secara diam-diam menemukan objek yang serupa, regresi UI yang sebenarnya mungkin tidak akan terdeteksi.
- ⚠️ Perlu ditinjau secara berkala: Properti Filter Dasar dan Opsional masih perlu ditinjau secara berkala seiring perkembangan aplikasi.
Sebagian besar tim membiarkan Identifikasi Cerdas diaktifkan untuk skrip eksplorasi dan berfrekuensi rendah, kemudian menonaktifkannya secara selektif pada objek yang kritis terhadap kinerja setelah properti identifikasi objek tersebut stabil.
Ubah Properti Objek untuk Menghindari Identifikasi Cerdas
Fleksibilitas Smart Identification hadir dengan biaya runtime seperti yang dijelaskan di atas, sehingga banyak tim lebih memilih untuk memperbaiki properti identifikasi objek sendiri daripada berulang kali mengandalkan mekanisme fallback. Perhatikan dua sinyal yang menunjukkan bahwa perbaikan properti lebih baik daripada mekanisme fallback saat runtime: peringatan Smart Identification yang muncul hampir setiap kali dijalankan, dan skrip yang menjadi jauh lebih lambat sejak mekanisme fallback mulai berjalan. Keduanya menunjukkan objek yang properti identifikasi default-nya tidak lagi sesuai dengan aplikasi, bukan kesalahan UI yang terjadi sekali saja. Video di bawah ini mendemonstrasikan perbaikan pada formulir login sungguhan.
Klik di sini jika video tidak dapat diakses
Transkrip Video: Poin-Poin Penting
- Identifikasi cerdas memperlambat eksekusi skrip, yang tidak diinginkan untuk rangkaian pengujian yang besar atau sering dijalankan.
- Untuk menghindarinya sepenuhnya, ubah properti identifikasi objek default alih-alih mengandalkan mekanisme cadangan.
- In Identifikasi Objek, hapus “name” dari properti wajib dan ganti dengan “HTML id” agar pengujian tidak bergantung pada perubahan nama.
- Rekam ulang langkah-langkah yang sama setelah daftar properti wajib diperbarui.
- Jika nama tersebut kemudian berubah dari “Submit” menjadi “Login,” skrip sekarang akan berjalan tanpa memicu Identifikasi Cerdas.
- Demikian pula, jika ada properti wajib atau pendukung pada objek yang sedang diuji sering berubah, gantilah dengan properti yang lebih stabil agar eksekusi skrip tetap cepat.
- Mengoptimalkan properti adalah keterampilan yang dibangun melalui pengalaman; keterampilan ini akan meningkat seiring semakin sering Anda menggunakan alat tersebut.
Menonaktifkan Identifikasi Cerdas Menggunakan VBScript
Identifikasi Cerdas juga dapat dimatikan untuk seluruh sesi berjalan tanpa menyentuh repositori objek, dengan menggunakan NonaktifkanPemutaranUlangMenggunakanAlgoritma Pengaturan saat eksekusi. Ini berguna ketika sebuah skrip harus langsung gagal jika terjadi ketidakcocokan properti, alih-alih diam-diam kembali ke proses eliminasi.
' Disable Smart Identification for this run session Setting("DisableReplayUsingAlgorithm") = 1 Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury" ' Re-enable Smart Identification once the strict steps are done Setting("DisableReplayUsingAlgorithm") = 0
Jaga agar jendela yang dinonaktifkan sesingkat mungkin. Langkah-langkah yang dijalankan di dalamnya harus sesuai persis dengan deskripsi yang telah dipelajari, sehingga setiap penyimpangan yang sah dalam aplikasi yang diuji akan menyebabkan kegagalan langsung daripada pemulihan yang bertahap.
Publikasi
Unduh halaman web yang digunakan dalam tutorial di atas untuk latihan mandiri.


