Hi Jonas,
There are few actions on webview, few of them are working like typing email, choosing payment method and then on next screen its entering the name also but failing to enter the card number. methods and step definitions are as below
Then /^I pay for the album successfully by (.+)$/ do |pay_method|
on Webview do |page|
page.make_payment(user, pay_method)
end
end
def make_payment(user, pay_method)
enter_email(user)
pay_by(pay_method)
case
when pay_method =~ /card/
make_card_payment(user)
end
start_downloading
end
def make_card_payment(user)
payment_details(user)
confirm_payment
end
def payment_details(user)
enter_name_on_card(user)
enter_card_number(user)
#failing at this step enter_postcode(user)
enter_security_number(user)
end
def enter_name_on_card(user)
sleep 3
performAction("set_text", "css", "input[id=\"id_transaction[credit_card][cardholder_name]\"]", "#{
user.name}")
end
def enter_card_number(user)
sleep 5
performAction("set_text", "css", "input[id=\"id_transaction[credit_card][number]\"]", "#{user.card_number}")
end
def enter_postcode(user)
sleep 3
performAction("set_text", "css", "input[id=\"id_transaction[billing][postal_code]\"]", "#{user.postcode}")
end
def enter_security_number(user)
sleep 3
performAction("set_text", "css", "input[id=\"id_transaction[credit_card][cvv]\"]", "#{user.security_code}")
end
def confirm_payment
wait_for(20){element_exists("webView css:input[id=card_pay_submit]")}
performAction("touch",'css','#creditcard input[id="card_pay_submit"]')
end
Regards
Rama