0

我想在 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>

是否可以像这样在 RSpec 中使用“脚本”标签来加载外部 JavaScript 库。

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

请给我任何建议。

谢谢。

4

1 回答 1

0

一本好书,最近足以考虑到它:https ://robots.thoughtbot.com/headless-feature-specs-with-chrome

基本上,它会在验证测试之前等待您的 js(您包含在页面中的那个)完成执行。这就是你想要的。

从那里开始,建议避免任何 js 注入(即使它可用),然后完全依赖无头浏览器设置

于 2018-02-24T15:18:58.050 回答