t.me/atinfo_chat Telegram группа по автоматизации тестирования

Codeception $ is not defined

Теги: #<Tag:0x00007f748be40a50>

Пытаюсь сделать селектор:

$input = $I->executeJs("$('.btn');");

Но падает ошибка в терминале: $ is not defined, хотя на самой странице, селектор выполняется.

Кто-то сталкивался с таким?

Что есть такое [quote=“Shkarbatov, post:1, topic:6783”]
на самой странице
[/quote]

?

Если открыть страницу в браузере и выполнить в консоли селектор.

То есть тестируемую страницу


Это сахар от девтула. В реальном JS скоупе вашей странице нету $(), о чем и сообщается в тексте ошибки.

$ - зарезеривированый символ в РНР для перменных. Вставляя его в “”, интерпретатор пытается вставить на его место переменную.

Замените кавычки на одиночные и будет вам счастье )

Попробовал так:

$I->executeJs('$(".btn");')

Но увы =(

$ is not defined

Сама страница в этот момент существует, у меня идет перед этим загрузка файлов. Или Вы о чем-то другом?

$input = $I->executeJs(‘return $(".btn");’)

Та же ошибка =(

Переписал на чистом js - работает

$input = $I->executeJs('return document.querySelector(".btn");');

А jQuery что-то не видит =(

1 Симпатия
$input = $I->executeJs('return jQuery(function($) { $('.btn') });');

пробуй

jQuery is not defined

Значит jQuery на странице не используется :frowning:

О чем 40 минут назад я и сказал.

Странно конечно, но он там есть. Ладно буду искать в чем причина, Всем спасибо!

Когда надоест - прочтите таки первый абзац страницы на которую я давал вам ссылку.

Спасибо, но я о том, почему не подгружается jQuery.