Last active
March 7, 2023 00:21
-
-
Save nruth/b2500074749e9f56e0b7 to your computer and use it in GitHub Desktop.
capybara selenium webdriver stripe.js checkout test helper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- encoding : utf-8 -*- | |
module PayStripeHelpers | |
# must be used with driver: :selenium (or :sauce?) | |
def pay_stripe | |
sleep(0.7) # wait for the js to create the popup in response to pressing the button | |
within_frame 'stripe_checkout_app' do # must be selenium | |
# fill_in 'card_number', with: '4242424242424242' no longer works | |
4.times {page.driver.browser.find_element(:id, 'card_number').send_keys('4242')} | |
# fill_in 'cc-exp', with: '5/2018' no longer works | |
page.driver.browser.find_element(:id, 'cc-exp').send_keys '5' | |
page.driver.browser.find_element(:id, 'cc-exp').send_keys '18' | |
page.driver.browser.find_element(:id, 'cc-csc').send_keys '123' | |
find('button[type="submit"]').click | |
end | |
# wait for stripe to finish and change the page; default is 2 seconds | |
find("body[data-tests-page='member/dashboard']", wait: 30) | |
end | |
end | |
if respond_to?(:World) #cucumber | |
World(PayStripeHelpers) | |
else | |
RSpec.configure do |config| | |
config.include PayStripeHelpers, :type => :feature | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Was wondering if there was any update to this for Stripe's Payment Element? Have been struggling to get this to work with the new way. Oddly, I can get it to work within a pry, but not when it runs by itself.