如何在Laravel Dusk中手动注入JQuery

时间:2018-11-15 10:48:42

标签: jquery laravel requirejs laravel-dusk

我正在使用require-js来组织我的JS文件,并且由于我已将jquery与define模块一起使用,因此Laravel Dusk测试无法识别该jquery,并返回以下错误消息:

unknown error: $ is not a function
(Session info: chrome=70.0.3538.102)
(Driver info: chromedriver=2.43.600229 (3fae4d0cda5334b4f533bede5a4787f7b832d052),platform=Mac OS X 10.14.0 x86_64)

在我的app.js文件中,我使用了像这样的jquery:

define(["jquery"], function ($)
{
   // js codes...
});

现在,如何将jquery手动注入Laravel Dusk?

(((我正在使用Laravel 5.4))

谢谢。

1 个答案:

答案 0 :(得分:1)

经过一些调查,您可以使用requirejs版本在黄昏页面中执行jquery脚本。

例如,隐藏一个元素:

public function someScript(Browser $browser, $selector)
{
    $selector = $browser->resolver->format($selector);

    $browser->script("requirejs(['jquery'], function($) { $(document).find(\"$selector\").hide(); });");
}