3

我正在使用 RSpec/Capybara 和 chrome/firefox 进行测试。

我正在使用 PayPal 的 iframe/Javascript 购买流程。

当用户在弹出的浏览器窗口中完成购买交易时,该窗口将关闭并调用按钮/注册函数内的回调函数(抱歉描述不佳 - 我不是 Javascript 专家)。

PayPal 功能如下所示:

function paypal_button(plan_id, container_id) {
  paypal.Buttons({
    createSubscription: function(data, actions) {
      return actions.subscription.create({
        'plan_id': plan_id
      });
    },
    onCancel: function (data) {
      console.log("canceled");
    },
    onError: function (err) {
      console.log("error")
    },
    onApprove: function(data, actions) {
        stuff
    }
  }).render(container_id);
}

在上面的代码中,stuff对 DOM 进行了一系列修改,包括提交表单。我不认为我可以在表单提交之前拦截 Javascript,所以,真的,我只需要了解我在 RSpec 测试中可以做什么来触发这个 onApprove 函数。

onApprove 记录在这里: https ://developer.paypal.com/docs/checkout/integrate/#5-capture-the-transaction

我对这一切都错了吗?我应该做一些完全不同的事情来测试这个级别的页面内 Javascript 吗?

4

0 回答 0