Веб-автоматизация PayPal Advanced Checkout иногда не работает в Selenium JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Веб-автоматизация PayPal Advanced Checkout иногда не работает в Selenium Java

Сообщение Anonymous »

Я автоматизирую процесс оформления заказа на сайте NopCommerce, используя PayPal Advanced в качестве способа оплаты. В большинстве случаев автоматизация работает, но иногда ей не удается завершить платеж.
Когда платеж работает, форма PayPal выглядит следующим образом:
Форма успешного платежа PayPal< /p>
В случае сбоя форма выглядит следующим образом:
Форма оплаты PayPal с ошибкой
Основное отличие заключается в том, как отображается номер карты, с пробелами между каждыми четырьмя цифрами, когда это работает.
Сначала я использовал метод sendKeys в своем коде Selenium:

Код: Выделить всё

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(60));
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("//iframe[@title='paypal_card_number_field']")));

WebElement cardNumberInput = wait.until(ExpectedConditions.elementToBeClickable(By.name("number")));

cardNumberInput.click();
cardNumberInput.clear();

cardNumberInput.sendKeys(cardNumber);

driver.switchTo().defaultContent();
Я подумал, что отправка всего номера карты за раз может стать проблемой, поэтому я изменил его, чтобы отправлять по одному номеру за раз:

Код: Выделить всё

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(60));
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("//iframe[@title='paypal_card_number_field']")));

WebElement cardNumberInput = wait.until(ExpectedConditions.elementToBeClickable(By.name("number")));

cardNumberInput.click();
cardNumberInput.clear();

Actions actions = new Actions(driver);
for (char c : cardNumber.toCharArray()){
actions.sendKeys(String.valueOf(c)).pause(500).perform();
}

driver.switchTo().defaultContent();
Даже с учетом этого изменения проблема все равно иногда возникает. Я пробовал добавлять ожидания до и после ввода номера карты, но проблема все равно возникает. Ошибка носит случайный характер: иногда это работает, иногда нет.
Что может быть причиной этой проблемы и как я могу сделать оплату PayPal Advanced более надежной в своей автоматизации? п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... enium-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»