Я использую драматурга для автоматизации своего браузера.
Я нажимаю гиперссылку, которая ведет на Google.com, и там я хочу убедиться, что кнопка поиска Google существует после навигации. Вот мой код.
const textToClick = "Visit Google"
const textToVerify = "Google Search"
const elements = await page.$$(`text=${textToClick}`)
await element[0].click()
const elements = await page.$$(`text=${textToVerify}`)
const elementLength = elements.length
console.log("Element Length::",elementLength, ":: TexToFind::",textToVerify)
Когда я запускаю его с тестом мокко, кнопка поиска Google не обнаруживается.
Но когда я запускаю тот же код через отладчик Visual Studio в основном файле записи узла (main.js
); Я могу найти кнопку поиска Google.
Вот вывод отладчика драматурга из тестового прогона мокко:
pw: api = ›page.goto start + 0 мс
pw: api переход к файлу: /// C: /devel/devspace/js/myAutomation/test/src/sampleApp.html, ожидание загрузки [] + 3 мс
pw: api перешел к файлу: /// C: /devel/devspace/js/myAutomation/test/src/sampleApp.html [] + 348 мс
pw: api domcontentloaded событие запущено [] + 7 мс
pw: событие загрузки API сработало [] + 276 мс
pw: api ‹= page.goto выполнено + 6 мс
pw: api =› elementHandle.click start + 364 мс
pw : api пытается elementHandle.click action [] + 2 мс
pw: api ожидает, пока элемент станет видимым, включен и не движется [] + 2 мс
pw: элемент api виден, включен и не перемещается [ ] + 479 мс
pw: прокрутка api при необходимости [] + 1 мс
pw: прокрутка api завершена [] + 63 мс
pw: api проверка того, что элемент получает события указателя в (358.64,558.1 ) [] + 66 мс
pw: элемент api действительно получает события указателя [] + 188 мс
pw: api выполняет действие elementHandle.click [] + 2 мс
pw: api elementHandle.click action done [ ] + 83 мс
pw: api в ожидании завершения запланированной навигации [] + 3 мс
pw: api перешел на https://www.google.com/ [] + 293 мс
pw: api navigations завершили [] + 46 мс
pw: api ‹= elementHandle.click успешно + 2 мс
спящий
спящий завершен
длина элемента :: 0 :: TexToFind :: Google Search
1) Проверка функциональности щелчка по гиперссылке
Вы заметите, что длина элемента равна нулю, что означает, что кнопка поиска Google не найдена
Что происходит с тестом мокко, который делает элемент недоступным для поиска, или есть что-то фундаментальное, связанное с гиперссылками, которое необходимо обрабатывать при проверке элементов после того, как щелчок по гиперссылке приводит вас на новую веб-страницу?
const elements
, может быть, мокко все еще ищетtextToClick
, когда он считает0
как elements.length. - person theDavidBarton   schedule 27.07.2020elements
вelements2
, если он сработает, то проблема заключалась в неуникальном постоянном имени для мокко. - person theDavidBarton   schedule 27.07.2020