Rspec 脚本标记未在Capybara/PhantomJS中呈现

Rspec 脚本标记未在Capybara/PhantomJS中呈现,rspec,capybara,phantomjs,stripe-payments,poltergeist,Rspec,Capybara,Phantomjs,Stripe Payments,Poltergeist,我正在使用Capybara和PhantomJS来运行一些集成测试。我们测试的一部分是订阅表单,它使用一个条带嵌入表单来呈现支付按钮。在我们的测试中,当我运行print page.html时,输出中有: <form accept-charset="UTF-8" action="/subscription" class="plan PlusMonthly" id="plan-PlusMonthly" method="post"> <div style="margin:0;

我正在使用Capybara和PhantomJS来运行一些集成测试。我们测试的一部分是订阅表单,它使用一个条带嵌入表单来呈现支付按钮。在我们的测试中,当我运行print page.html时,输出中有:

<form accept-charset="UTF-8" action="/subscription" 
class="plan PlusMonthly" id="plan-PlusMonthly" method="post">
    <div style="margin:0;padding:0;display:inline"></div>
    <input name="utf8" type="hidden" value="✓"></div>
    <input id="plan_id" name="plan_id" type="hidden" value="3">


    <script src="https://checkout.stripe.com/checkout.js" 
        class="stripe-button" 
        data-key="my_test_key" 
        data-label="$9.95" 
        data-name="Subscribe" 
        data-description="Billed per month. Cancel at any time." 
        data-image="/assets/avatar_t.png" 
        data-amount="995" 
        data-email="user2@gmail.com" 
        data-allow-remember-me="false" 
        data-panel-label="Pay {{amount}} per month">
    </script>
</form>
版本 水豚:2.4.1

恶鬼:1.5.0


PhantomJS:1.9.7

该按钮标记为“$49.95”,您试图单击“$9.95”。也许我错过了一些我看不到的东西。

哎呀,这是个打字错误。但问题是,该按钮甚至不会在测试中呈现。标签是用来呈现按钮的,不管出于什么原因,它都不会被执行。你试过用chrome或firefox驱动程序运行它吗?这听起来像是脚本先决条件的问题;用你的眼睛看它可能有助于调试。@tmg我使用的是Poltergeist屏幕截图命令,果然按钮没有渲染。我目前正在Docker内部运行,因此获得像Selenium这样的驱动程序可能很困难。嗯,可能只是时间问题,您可以通过几次睡眠进行测试。但听起来脚本可能不起作用;可能是条带配置问题?您还可以查看poltergeist中的page.driver.network_流量,或者查看是否无法连接远程web检查器并对其进行调试。祝你好运@tmg使用网络流量,我发现一些资产https://s3.amazonaws.com/.../facebook_share_icon.gif 返回状态200,但其他类似条带的则不返回:响应URLhttps://checkout.stripe.com/checkout.js 地位有趣的是,它根本不返回任何状态。我把睡眠时间提高到了90,但是运气不好。你是说它从来没有检索到那个脚本?听起来你需要调试网络连接。可以从使用curl从测试内部获取脚本开始,看看会发生什么。
<button class="stripe-button-el" type="submit" style="visibility: visible;">
    <span style="display: block; min-height: 30px;">$9.95</span>
</button>
Failure/Error: subscribe
Capybara::ElementNotFound:
  Unable to find button "$9.95"