如何在 Laravel Dusk 中手动注入 JQuery
How to Inject JQuery Manually in Laravel Dusk
我正在使用 require-js 来组织我的 JS 文件,并且由于我使用了带有定义模块的 jquery,Laravel Dusk 测试无法识别jquery 并且 returns 出现以下错误消息:
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 ))
谢谢。
经过一些调查,您可以使用 requirejs 版本在 Dusk 页面中执行 jquery 脚本。
例如隐藏一个元素:
public function someScript(Browser $browser, $selector)
{
$selector = $browser->resolver->format($selector);
$browser->script("requirejs(['jquery'], function($) { $(document).find(\"$selector\").hide(); });");
}
我正在使用 require-js 来组织我的 JS 文件,并且由于我使用了带有定义模块的 jquery,Laravel Dusk 测试无法识别jquery 并且 returns 出现以下错误消息:
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 ))
谢谢。
经过一些调查,您可以使用 requirejs 版本在 Dusk 页面中执行 jquery 脚本。
例如隐藏一个元素:
public function someScript(Browser $browser, $selector)
{
$selector = $browser->resolver->format($selector);
$browser->script("requirejs(['jquery'], function($) { $(document).find(\"$selector\").hide(); });");
}