jQueryに依存する@BeforeStepフックでページ上にいくつかのjavascriptを実行します。しかし、jQueryはその時点では定義されていません。実際はページは空白です。Mink:@BeforeStepでページが読み込まれるのを待ちます。
は、ここで私は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);
}
は多分私が最初に(コメント行)のjQueryをロードするためにページを待つこともできますが、それは真実ではありません。そのフックが処理されるまで、実行のように見えます。
JavaScriptをページ上で実行するためのbehat/minkエコシステムの適切な場所は何ですか?
私は、ソースコードに上記のJSスクリプトを追加することになりました。 – Dziamid