在脚本标签中测试异步 属性
Test for async property in script tag
在 rspec 功能测试中,我想测试是否存在以下代码
<script src="/assets/application.js" async="async"></script>
如果我尝试
page.should have_css 'script', src: "/assets/application.js", async: 'async'
我收到一条错误消息,指出 :src, :async
是无效密钥。我想使用测试来确保在 heroku 上异步加载 application.js
文件。
我该如何测试?
有几个问题:首先,默认情况下,Capybara 不会查找不可见的元素(这包括脚本标签)。其次 :src 和 :async 不是 Capybara 所知道的。解决方案是在 css 选择器中包含 src 和异步要求,并传递 visible: false
选项,这样 Capybara 就会找到不可见的元素。
page.should have_css('script[async="async"][src="/assets/application.js"]', visible: false)
在 rspec 功能测试中,我想测试是否存在以下代码
<script src="/assets/application.js" async="async"></script>
如果我尝试
page.should have_css 'script', src: "/assets/application.js", async: 'async'
我收到一条错误消息,指出 :src, :async
是无效密钥。我想使用测试来确保在 heroku 上异步加载 application.js
文件。
我该如何测试?
有几个问题:首先,默认情况下,Capybara 不会查找不可见的元素(这包括脚本标签)。其次 :src 和 :async 不是 Capybara 所知道的。解决方案是在 css 选择器中包含 src 和异步要求,并传递 visible: false
选项,这样 Capybara 就会找到不可见的元素。
page.should have_css('script[async="async"][src="/assets/application.js"]', visible: false)