我正在使用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))
谢谢。
答案 0 :(得分:1)
经过一些调查,您可以使用requirejs版本在黄昏页面中执行jquery脚本。
例如,隐藏一个元素:
public function someScript(Browser $browser, $selector)
{
$selector = $browser->resolver->format($selector);
$browser->script("requirejs(['jquery'], function($) { $(document).find(\"$selector\").hide(); });");
}