11

Sto provando a eseguire un progetto di test Coded-UI su un'applicazione asp.net MVC4. L'applicazione contiene varie chiamate Ajax coinvolte. Quando lo provo manualmente, funziona bene ma quando lo provo usando il progetto di test coded-ui, lo si interrompe perché nelle chiamate Ajax, la funzione di callback non viene chiamata. Qualcuno può dirmi cosa mi manca qui? Grazie in anticipo.Jquery Il successo AJAX non viene attivato con il progetto di test Coded UI

+0

Benvenuti in StackOverflow! È più utile se pubblichi il codice pertinente, insieme a una spiegazione su cosa e come * esattamente * si interrompe. –

+0

Posso aggiungere che qualsiasi azione dell'utente sulla pagina interrompe il successo $ .ajax ed è solo su jQuery 2.0. –

risposta

19

cosa sta andando male

del browser Coded UI di Microsoft inietta javascript per spessorare l'oggetto XMLHttpRequest per il monitoraggio. Qualsiasi chiamata ajax nella pagina utilizzerà questo shim al posto della reale XMLHttpRequest. Lo shim presuppone che il callback di completamento sia collegato alla proprietà onreadystatechange di XMLHttpRequest, ma jQuery 2.0 utilizza i nuovi eventi onload e onerror, quindi la richiamata non viene mai chiamata dallo shim.

Soluzione

Il work-around è quello di aggiungere quanto segue al file App.config per il vostro progetto di prova:

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

Impostazione WebWaitForReadyLevel a 3 stop la Coded UI WebBrowser da iniettare il javascript per tracciare chiamate e timer ajax. jQuery otterrà una vera e propria XMLHttpRequest e i tuoi callback ajax funzioneranno di nuovo.

+0

Salvavita. Sto trovando informazioni minime su questo dal web - hai qualche riferimento per il problema o la soluzione? – Andyrooger

+0

Vedere anche: https://fluentbytes.com/how-to-prevent-codedui-tests-from-breaking-angular-ajax-calls/. – Appulus

+0

Funziona con jquery 2.0.0 ma non con 2.0.2 –

Problemi correlati