Я не могу ввести текст в определенное поле ввода, как это определено атрибутом данных. Могут быть десятки входных данных с одним и тем же классом, поэтому я бы предпочел не добавлять dusk='xxxx'
по всей странице.
Для эффективности маршрутизации и серверной стороны функция AJAX извлекает тип из массива входных данных и маршрутов к функции, которая разветвляет действие.
Код блейда:
{!! Form::text('question[]', null,
['class'=>'form-control actionChange', "data-id"=>$question->id, "data-type"=>'question']) !!}
Страница начинается с других вопросов другого типа, поэтому я попытался использовать nth-child(x)
для захвата селектора в модальном окне, но безуспешно. Я также пытался использовать $browser->script()
.
Читая несколько похожих вопросов, таких как этот, кажется что цикл внутри модального окна, вероятно, лучший способ. Этот метод правильно присваивает селектор переменной цикла $input
. Это правильные данные clear()
s, и я тестировал аналогичный код с click()
, и он успешно работает. Однако он не вводит данные во входные данные. type()
и keys()
, похоже, не работают с RemoteWebElement
, поэтому я считаю, что мой единственный выбор для ввода данных - sendKeys()
.
Тестовый код в сумерках:
$browser->assertPathIs('/notice')
->whenAvailable('.modal', function($modal) use($browser) {
$modal->assertSee('Survey for:')
->waitFor('#heading')
// WORKS fine
->keys('#heading', 'Edited Heading for Survey', '{enter}')
->waitFor('.actionSurvey');
// Edit a question -- NOT WORKING
foreach ($browser->elements('.actionChange') as $input) {
$dataType = $input->getAttribute('data-type');
if($dataType === 'question') {
$input->clear() // WORKS Fine
->sendKeys('Edited_Question') // NOT successful
break;
Я пробовал с методом clear()
и без него, а также с различными селекторами как внутри, так и вне модального цикла. То же самое для script()
Кроме того, я попытался использовать переменную $modal
для получения элементов, но это было просто предположение, так как я немного не понимаю на данный момент.
Я, вероятно, накосячил что-то элементарное, но я не понимаю, почему один метод работает, а другой нет на одной и той же ручке.
clear()
, но ничто не позволяет отправлять ключи в модальном режиме, даже если дескриптор правильный. - person Watercayman   schedule 11.12.2019