Keberhasilan Jquery AJAX tidak dipicu dengan proyek pengujian Coded UI

Saya mencoba menjalankan proyek pengujian Coded-UI pada aplikasi asp.net MVC4. Aplikasi ini berisi berbagai panggilan ajax yang terlibat. Ketika saya mengujinya secara manual, itu berfungsi dengan baik tetapi ketika saya mengujinya dengan menggunakan proyek pengujian kode-ui, itu rusak karena dalam panggilan ajax, fungsi panggilan balik tidak dipanggil. Adakah yang bisa memberi tahu saya apa yang saya lewatkan di sini.? Terima kasih sebelumnya.


person user2617088    schedule 25.07.2013    source sumber
comment
Selamat datang di StackOverflow! Akan lebih membantu jika Anda memposting kode yang relevan, bersama dengan penjelasan apa dan bagaimana tepatnya kode tersebut rusak.   -  person Arman H    schedule 25.07.2013
comment
Saya dapat menambahkan bahwa tindakan pengguna apa pun di halaman akan merusak kesuksesan $.ajax dan itu hanya di jQuery 2.0.   -  person Denis Agarev    schedule 23.08.2013


Jawaban (1)


Apa yang salah

Browser UI Berkode Microsoft menyuntikkan javascript untuk menggeser objek XMLHttpRequest untuk pelacakan. Setiap panggilan ajax di halaman akan menggunakan shim ini, bukan XMLHttpRequest yang sebenarnya. Shim mengasumsikan bahwa panggilan balik penyelesaian Anda dilampirkan ke properti onreadystatechange XMLHttpRequest, tetapi jQuery 2.0 menggunakan peristiwa onload dan onerror yang baru, sehingga panggilan balik tidak pernah dipanggil oleh shim.

Solusi

Solusinya adalah menambahkan yang berikut ini ke file App.config untuk proyek pengujian Anda:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="WebWaitForReadyLevel" value="3"/>
  </appSettings>
</configuration>

Menyetel WebWaitForReadyLevel ke 3 menghentikan Coded UI WebBrowser memasukkan javascript untuk melacak panggilan dan pengatur waktu ajax. jQuery akan mendapatkan XMLHttpRequest asli, dan panggilan balik ajax Anda akan berfungsi kembali.

person Ross McNab    schedule 27.01.2014
comment
Penolong. Saya hanya menemukan sedikit informasi tentang ini dari web - apakah Anda memiliki referensi untuk masalah atau solusinya? - person Andyrooger; 14.12.2015