WebPagetest, не заполняющий формы, выдает «Ошибка навигации» - PullRequest
0 голосов
/ 22 февраля 2019

Я новичок в WebPagetest (https://www.webpagetest.org/) и у меня возникли некоторые проблемы с формами входа в систему. Я использую сценарии и могу перейти на страницу с формой, но похоже, что я неправильно ввожулюбые значения формы, ни форма не отправляет.

Вот версия моего скрипта:

logData 1
navigate    https://www.example.com/secure/login
setValue    name=username   activation_test
setValue    name=password   password
submitForm  id=signInForm
//clickAndWait  id=signInBtn
//exec  document.getElementsByTagName('html')[0].style.display = 'none';
sleep   5
block   google.com/csi
navigate    https://www.example.com/?jbhp=true

Конечно, моя первая мысль - убедиться, что мои элементы HTML совпадают, нос ними все в порядке ...

  • Имя пользователя:

input tabindex = "1" aria-required = "true" class = "требуется успех "id =" username "maxlength =" 64 " name =" username " placeholder =" Адрес электронной почты или имя пользователя "type =" text "value =" "

  • Пароль:

input tabindex = "2" aria-required = "true" class = "успех обязателен" id = "пароль" name = "пароль" placeholder = "Password" type = "password" value = ""

  • Форма:

Форма действия = "#" id = "signInForm" method = "post" class = "form formLarge "novalidate =" novalidate "

  • Submit (проверено в форме;используется только когда clickAndWait не прокомментирован) :

button tabindex = "3" id = "signInBtn" class = "ancBtn lrg" data-track-click = "войти в систему: войти в систему" type = "submit"

Страница результатов теста показывает, что она перемещается к конечному местоположению, как будто не вошла в систему. Кроме того, я вижу это как часть результатов: Step_2 (Ошибка: ошибка навигации) .К сожалению, если есть лучшее документирование того, что конкретно вызвало ошибку навигации, я еще не нашел ее.

Наконец, если я переключусь с использования submitForm на clickAndWait (что закомментировано вПример выше) единственное отличие в результате состоит в том, что Step_2 показывает скриншот страницы, а не просто оранжевый блок.

1 Ответ

0 голосов
/ 26 февраля 2019

IFrames. Глупо IFrames .Если вы найдете ответ на мой вопрос выше, я бы поспорил, что на вашей странице есть IFrames.В моем случае мой IFrame исходит из того же домена, что и страница браузера - , если это не так для вашего IFrame, я не уверен, будет ли это работать .

Чтобы получить доступ к элементам в IFrame, мне пришлось забыть «setValue», «clickAndWait» и так далее.Я должен был пойти прямо в Javascript.В сценарии это выглядит примерно так:

exec document.querySelector("iframe[id=stupidIFrameId]").contentDocument.querySelector("input[id=password]").value = 'password'

execAndWait document.querySelector("iframe[id=stupidIFrameId]").contentDocument.querySelector("button[id=signInButton]").click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...