我想在RSpec中执行一些JS库。
例如
我可以执行"付款库" HTML中的JavaScript库如下所示。
<!DOCTYPE html>
<html>
<head>
<script src="https://sample.example/payment.js"></script>
</head>
<body>
<div id="foo"></div>
</body>
<script>
$(document).ready(function(){
// Payment depends on "https://sample.example/payment.js"
Payment.init("11111");
Payment.getToken({cardNo: "1111111111111111", expired: "2001"});
});
</script>
</html>
是否可以加载外部JavaScript库,例如使用&#34; script&#34; RSpec中的标签就像这样。
js_code = <<'EOS'
{
<script src="https://sample.example/payment.js"></script>
Payment.init("11111");
Payment.getToken({cardNo: "1111111111111111", expired: "2001"});
}
EOS
ExecJS.eval js_code
请求给我任何建议。
感谢。
答案 0 :(得分:0)
一个很好的阅读,最近足以将其考虑在内:https://robots.thoughtbot.com/headless-feature-specs-with-chrome
基本上,在验证测试之前,它会等待你的js(你在页面中包含的js)完成执行。这就是你想要的。
从那里开始,建议避免任何js注入(即使它可用),然后完全依赖无头浏览器设置