Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Codeception $ is not defined

codeception
Теги: #<Tag:0x00007f7b6251ace0>

(Дмитрий Сергеевич Шкарбатов) #1

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

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

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

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


(vmaximv) #2

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

?


(Дмитрий Сергеевич Шкарбатов) #3

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


(Дмитрий Сергеевич Шкарбатов) #4

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


(vmaximv) #5


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


(Michael Bodnarchuk) #6

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

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


(Дмитрий Сергеевич Шкарбатов) #7

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

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

Но увы =(

$ is not defined

(Дмитрий Сергеевич Шкарбатов) #8

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


(Ray Romanov) #9

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


(Дмитрий Сергеевич Шкарбатов) #10

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


(Дмитрий Сергеевич Шкарбатов) #11

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

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

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


(Ray Romanov) #12
$input = $I->executeJs('return jQuery(function($) { $('.btn') });');

пробуй


(Дмитрий Сергеевич Шкарбатов) #13

jQuery is not defined


(Ray Romanov) #14

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


(vmaximv) #15

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


(Дмитрий Сергеевич Шкарбатов) #16

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


(vmaximv) #17

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


(Дмитрий Сергеевич Шкарбатов) #18

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