Олег, спасибо большое за информацию в таких деталях. Будет очень круто, если ты ещё запишешь видео с автотестами в которых подробно объясняешь работу Java.
было бы интересно видео про обзор всех основных методов selenide. и про ожидания начиная от загрузки страницы и элементов на ней до загрузки файлов например
Спасибо, Олех. Отличный видео-урок! Я бы тебе ещё посоветовал открыть ещё один канал для тех, кто не может успокоиться и заснуть. Твой голос просто как снотворное и успокоительное в одном флаконе!)
возвращаем объект страницы в методе, на которую будет происходить переход в результате выполнения этого метода, конгениально. на простом примере разобрали построение PO
12:05 Начиная с версии Selenide 6.17.0 метод driverManagerEnabled отсутствует. Коммент ниже про этот метод следовало бы закрепить. Кстати где смотреть информацию по истории изменений?
Здравствуйте, будет ли новое видео на примере нового Selenide версии 6.17.0 и выше, где используется SeleniumManager вместо WebDriverManager? Или расскажите вкратце как заменить одно на другое?
Добрый день! Каждый тест-кейс должен содержать шаги, тестовые данные и ожидание. Во всех роликах про автоматизацию тестирования вижу, что ожидание шага как-то упускают. Например, мы вводим значение в поле "Поиск", следовательно ожидание должно быть "поле заполнено". Почему вы не проверяете что оно заполнено?
Привет, как вариант можно получить все кликабельные элементы и из них достать значение href атрибута. Далее поместить все элементы в список или сет, после чего через цикл вызвать метод Selenide.open("URL");
@@threadqa Как вариант. Я делал следующим образом: Создавал элемент private static final LINKS = "//ul//li/a" - согласно DOM по нему находит 122 ссылки, которые есть на странице. public Element Collections getAllLinks(){ return $$x(LINKS); Но вот дальше заступорился и не понимаю как дальше сделать. Именно вернуть валидный список, и кликнуть по любой из 122 ссылок...
подскажите, плиз, как пофиксить: Делаю по мануалу, но intellij IDEA в "Configuration.driverManagerEnabled = true;"рассматривает driverManagerEnabled как символ переменную, а не как метод из библиотеки. . java: cannot find symbol symbol: variable driverManagerEnabled location: class com.codeborne.selenide.Configuration. Зависимость при этом добавлена com.codeborne selenide 6.18.0 в чем может быть проблема?
Подскажите, пожалуйста, я выставил Configuration.headless = true; но у меня все равно браузер запускается с GUI. Перезагрузка и Ivalidate Caches не помогли
Зачем так много ответвлений? Можно сначала показать - потом объяснить - потом показать? Keep it seemple)) Не нужно усложнять, что и так просто. Дополнения можно вставить в конце или делать их сжатыми во время основного прохода. Теряется нить событий во время просмотра...
Смотрел, делал, а потом понял, что это совсем не с нуля. Таким "с нуля" можно отпугнуть навсегда. Тут описывается подход, когда требуется написать 100-200 тестов и для этого раскладывается всё по классам и распихивается по папкам. Для начала, это не нужно. Для начала нужно показать минимум, который требуется для написания теста. Не надо наворачивать так густо классы. Надо показать, как это работает без этого, показать как обнаруживать сложные элементы, рассмотреть все возможные варианты взаимодействия с элементами. Вот это будет "с нуля". А раскладывать всё по полочкам уже надо учить тогда, когда уже будет опыт написания не одного десятка тестов.
Сомнительный способ открывать браузер, чтобы потом ещё думать о его закрытии. У селенида есть другой вариант и селенид сам умеет закрывать браузер после прохождения тестов и потоков
Спасибо за видео.Но есть маленькое замечание.Аннотации @Before и @After при запуске теста падают с ошибкой 255.Нужно их заменить на @BefireEach и @AfterEach.
Все делал как в видео и получил ошибку java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.DesiredCapabilities.setJavascriptEnabled(boolean)'
Не видел нигде такого детального и ясного объяснения. Так держать, молодец
Нигде не видел такого полного обьяснения и рассказа. Подход искренний! Спасибо
Классные уроки, именно этого не хватает на просторах интернета, реальные кейсы разбираешь. Лайк и подписка!!!
Очень круто! Хорошее объяснение! Ждём еще
Очень классные уроки с максимально подробным рассказом что, для чего и зачем используется. И те же фреймворки используете, что и я, вообще супер😀
ты молодец! хорошо + с желание + с вариантами оптимизации рассказываешь!
Олег, как же теперь просто стало погружаться, как раз используем selenide в работе, спасибо!
Спасибо, очень понравилось, для новичков это видео-рай ❤
Хочется просто сказать огромное человеческое спасибо, очень понятная подача информации, очень приятный тембр голоса.
Лучший! спасибо!
Олег, спасибо большое за информацию в таких деталях.
Будет очень круто, если ты ещё запишешь видео с автотестами в которых подробно объясняешь работу Java.
Сниму видео про это)
У тебя получается объяснять. Не останавливайся :)
Посмотрел это видео, после просмотра более новых твоих, на удивление было легко понимать, но все равно полезные штуки находятся, ты профи)
После селенида голый селениум выглядит как палка копалка. Спасибо за детальный обзор!
Спасибо, информативно, прям насладился хорошо сделанной работой. спасибо за труд!
Спасибо. Ждем больше)
Отличное видео! Хотелось бы ещё что-нибудь по автоматизации API с REST Assured.
спасибо) скоро выйдет про REST Assured видео
было бы интересно видео про обзор всех основных методов selenide. и про ожидания начиная от загрузки страницы и элементов на ней до загрузки файлов например
Спасибо большое, очень познавательно) и еще - у вас очень приятный тембр голоса))
Спасибо, Олех. Отличный видео-урок! Я бы тебе ещё посоветовал открыть ещё один канал для тех, кто не может успокоиться и заснуть. Твой голос просто как снотворное и успокоительное в одном флаконе!)
Олёг, спасибо за видео ,продолжай,у тебя отлично получается,хотелось бы увидеть тесты на Cucumbere!
Спасибо, обязательно сделаю видео)
Молодец👏👏👏
Лайкнул, просьба, когда пишешь код, увеличивай шрифт, что б окно кода на весь экран было.
Мужик ты крут был на платных курсах такой практики там не было. Хотелось бы увидеть твой курс по автоматизации.
Чувак твой стиль выделяется.Лайк
Спасибо за видео!
Спасибо за Ваш труд! Коммент в поддержку канала
Большое спасибо!
Довольно интересный кейс :)
лучший разбор, спасибо
возвращаем объект страницы в методе, на которую будет происходить переход в результате выполнения этого метода, конгениально. на простом примере разобрали построение PO
это слишком круто!! спасибо
суперспасибо! то, что искала
Ну и наверное моё непрофессиональное предложение многие поддержат: не хватает тайм поинтов при такой продолжительности ролика, для большего удобства)
Таймбрейки есть в описании к видео)
P.S обновил, чтобы в плеере было разделение на части
@@threadqa Вот это я и имел ввиду)
Привет. Спасибо за видео! В selenide, webdriver manager встроен сразу. Отдельно импортировать еге не обязательно.
2 часа не могу понять в чем дело
лайк, подписка!!! давай ещё что-нибудь по селениду!!!
Чел, спасибо огромное за ролики) ОЧЕНЬ хорошая подача, ты молодец, даже такой даун как я всё понял)
Очень крутое и познавательное видео.
Пушка гонка
Начал писать проект на selenium, теперь всё переделываю на selenid))))))))) Надо было сразу с этого видео начинать)
необязательно брать хпас вручную можно использовать плагин он тоже правильно возьмет (селекторсхаб)
Зачем WebDriverManager, и зачем J unit? Там же все из коробки идет.
12:05 Начиная с версии Selenide 6.17.0 метод driverManagerEnabled отсутствует. Коммент ниже про этот метод следовало бы закрепить. Кстати где смотреть информацию по истории изменений?
Где взять верные зависимости для автотестов ?
Здравствуйте, будет ли новое видео на примере нового Selenide версии 6.17.0 и выше, где используется SeleniumManager вместо WebDriverManager? Или расскажите вкратце как заменить одно на другое?
Спасибо!
А вы не знаете случайно, можно ли как-то подсветить синтаксис xpath в локаторах, кроме как временной инъекцией?
Добрый день!
Каждый тест-кейс должен содержать шаги, тестовые данные и ожидание. Во всех роликах про автоматизацию тестирования вижу, что ожидание шага как-то упускают. Например, мы вводим значение в поле "Поиск", следовательно ожидание должно быть "поле заполнено". Почему вы не проверяете что оно заполнено?
Почему, когда устанавливаешь Configuration.headless = false; браузер все равно запускается?
Там нужно headless = true, чтобы браузер не запускался
Хорошее видео о Селенид.
Вопрос:
Как произвести сбор всех ссылок, которые есть на странице, а после сбора, кликнуть на любую из ссылок.??
Привет, как вариант можно получить все кликабельные элементы и из них достать значение href атрибута. Далее поместить все элементы в список или сет, после чего через цикл вызвать метод Selenide.open("URL");
@@threadqa Как вариант.
Я делал следующим образом:
Создавал элемент private static final LINKS = "//ul//li/a" - согласно DOM по нему находит 122 ссылки, которые есть на странице.
public Element Collections getAllLinks(){
return $$x(LINKS);
Но вот дальше заступорился и не понимаю как дальше сделать. Именно вернуть валидный список, и кликнуть по любой из 122 ссылок...
@@cinemaSage_1 напиши мне в вк vk.com/olehking
@@threadqa через vk не напишу точно. Т.к. нет аккаунта там. Может скайп, телеграмм?
@@cinemaSage_1 телега t.me/penolegrus
подскажите, плиз, как пофиксить:
Делаю по мануалу, но intellij IDEA в "Configuration.driverManagerEnabled = true;"рассматривает driverManagerEnabled как символ переменную, а не как метод из библиотеки.
. java: cannot find symbol
symbol: variable driverManagerEnabled
location: class com.codeborne.selenide.Configuration.
Зависимость при этом добавлена
com.codeborne
selenide
6.18.0
в чем может быть проблема?
привет, в новой версии селенида этот функционал убрали и щас он по стандарту там зашит, то есть не нужно прописывать эту настройку
спасибо!@@threadqa
@@threadqa закрепить бы это в описании, я как новичок час потратил на выяснение))
Иду по шагам 1 в 1 (но это не точно) с видео, глупый вопрос, почему при завершении каждого рана браузер закрывается?
привет, нужно добавить строку Configuration.holdBrowserOpen = true;
в метод setUp в классе BaseTest, после этого закрываться не будет
@@threadqa Оперативно, спасибо тебе)
Подскажите, пожалуйста, я выставил Configuration.headless = true; но у меня все равно браузер запускается с GUI. Перезагрузка и Ivalidate Caches не помогли
привет, скорее всего импортирована не та библиотека, нужно чтобы была вот такая
import com.codeborne.selenide.Configuration;
подскажите как правильно и де взять все эти данные в РОМ??? Или их просто перепечатать можн?
Подскажите пожалуйста, я занимаюсь самообучением и не могу понять. Спасибо!!!
@@ЕвгенийМихайлов-ч5н загуглить название библиотеки + "maven" , там будет xml , которую нужно скопировать и вставить в соответствующий тег
На каком jdk проект подскажите плз?
Jdk 8 :)
@@threadqa ок,пасиб)
@@threadqa Разве не 15?
@@acidhouzewest3068 сейчас в проекте Java 8
в гитхаб новое обновление сделал))
лайк, но обрати внимание , что твое лицо перекрывает какой-то код временами))
знаю) в следующих видео уже норм будет)
А если у меня нет таких зависимостей которые установлены в вашем IDE то как мне их установить и где взять,запишите урок пожалуйста
maven central
Selenide по умолчанию иницилизирует Хром, можно и не писать всё это в Байс тесте
Было в коде 7 строк, сократили до одной, но потом поняли, что не удобно читать и снова сделали 7 строк. Хмм...
почему так мало лайков?
Зачем так много ответвлений? Можно сначала показать - потом объяснить - потом показать? Keep it seemple))
Не нужно усложнять, что и так просто.
Дополнения можно вставить в конце или делать их сжатыми во время основного прохода.
Теряется нить событий во время просмотра...
Смотрел, делал, а потом понял, что это совсем не с нуля. Таким "с нуля" можно отпугнуть навсегда. Тут описывается подход, когда требуется написать 100-200 тестов и для этого раскладывается всё по классам и распихивается по папкам. Для начала, это не нужно. Для начала нужно показать минимум, который требуется для написания теста. Не надо наворачивать так густо классы. Надо показать, как это работает без этого, показать как обнаруживать сложные элементы, рассмотреть все возможные варианты взаимодействия с элементами. Вот это будет "с нуля". А раскладывать всё по полочкам уже надо учить тогда, когда уже будет опыт написания не одного десятка тестов.
Как обидно что я не могу прислать тест кейс свой( Сайт
не публичный
селенид это всего лишь технология
Я скопировал xpath кнопки поиска и смог ввести текст
Сомнительный способ открывать браузер, чтобы потом ещё думать о его закрытии. У селенида есть другой вариант и селенид сам умеет закрывать браузер после прохождения тестов и потоков
Плюс результат зафеленного ассерта нечитабельный. Можно добавить вывод текстового сообщения.
Спасибо за видео.Но есть маленькое замечание.Аннотации @Before и @After при запуске теста падают с ошибкой 255.Нужно их заменить на @BefireEach и @AfterEach.
Все делал как в видео и получил ошибку java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.DesiredCapabilities.setJavascriptEnabled(boolean)'
А зачем нам писать в сетапе WebdriverManager.chromedriver.setup() , если и без него всё работает и даже быстрее в 10 раз ?
Красавчик, спасибо большое.