Symfony Panther - Тестовая полоса формы

в своем приложении я хотел бы протестировать свою форму Stripe, созданную с помощью Stripe Elements. Итак, я хочу заполнить форму с помощью Panther (https://github.com/symfony/panther), но это кажется совершенно невозможным.

Вот пример формы Stripe: https://stripe.dev/elements-examples/

Например, если я хочу автоматически заполнить поле, соответствующее номеру карты (в 1-м примере это поле ввода с именем «номер карты»), я попробовал две вещи:

$crawler->filter("input[name=cardnumber]")->sendKeys("4242 4242 4242 4242");

или же

$this->client->getWebDriver()->findElement(WebDriverBy::name('cardnumber'))->sendKeys("4242 4242 4242 4242");

Это возвращает мне следующую ошибку:

Facebook\WebDriver\Exception\NoSuchElementException : no such element: Unable to locate element: {"method":"css selector","selector":"[name='cardnumber']"}

Итак, я попытался запустить строку javascript:

$this->client->executeScript("$('input[name=cardnumber]').value = '4242 4242 4242 4242'");

Ничего не принесло.

В результате я полностью заблокирован и не знаю, как решить эту проблему.

Я не знаком с пантерой, но пробовали ли вы добавить интервал, который проверяет, существует ли элемент, и запускает строку, только если / когда это происходит? Stripe требуется некоторое время для загрузки, поэтому этот элемент, вероятно, вообще не существует, когда вы запускаете свою строку.

Tom Tom 08.04.2021 21:09

Фактически проблема возникает из-за того, что полоса генерирует фреймы для каждого поля. Поэтому я должен ввести эти кадры, чтобы иметь возможность вводить входы. Но это кажется сложным, потому что iframe поступают с другого хоста, и поэтому похоже, что он не работает должным образом. В остальном да, дождался корректной загрузки полосы :)

eronn 09.04.2021 10:50
JS - События опций формы
JS - События опций формы
В продолжение предыдущей статьи CSS - стили, связанные с вводом формы , в этой статье мы будем использовать JS для взаимодействия с формами, на этот...
CSS - Стили, связанные с вводом формы
CSS - Стили, связанные с вводом формы
Общими стилями ввода для форм являются Input (включая Text, Radio, checkbox), Select и Textarea, из которых Input относительно прост, поэтому в этой...
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Наличие на корпоративном сайте форм заявлений о приеме на работу, или "трудовых анкет", экономит время и деньги как для соискателей, так и для...
0
2
15
0

Другие вопросы по теме