Voglio eseguire qualche javascript sulla pagina nel hook @BeforeStep che dipende da jQuery. Tuttavia jQuery non è definito in quel momento, infatti la pagina è vuota.Mink: attendere che la pagina venga caricata in @BeforeStep
Qui è quello che sto cercando di achive:
/**
* @BeforeStep @javascript
*/
public function registerAjaxEventHandlers()
{
$javascript = <<<JS
window.jQuery(document).ready(function() {
if (window.__ajaxStatus !== undefined) {
return;
}
window.__ajaxStatus = 'none';
$('body').ajaxStop(function() {
window.__ajaxStatus = 'idle';
});
$('body').ajaxStart(function() {
window.__ajaxStatus = 'in-flight';
});
});
JS;
//$this->getSession()->wait(5000, 'window.jQuery !== undefined');
$this->getSession()->executeScript($javascript);
}
ho pensato che forse potevo aspettare per il caricamento della pagina jQuery prima (linea commentato), ma non è vero. Sembra che l'esecuzione venga interrotta fino all'elaborazione di quel gancio.
Qual è il posto giusto nell'ecosistema behat/mink per eseguire javascript sulla pagina?
ho finito di aggiungere lo script JS sopra al codice sorgente. – Dziamid