Тёмный
No video :(

API Автотесты с нуля Rest Assured 

Oleh Pendrak
Подписаться 8 тыс.
Просмотров 70 тыс.
50% 1

Опубликовано:

 

23 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 177   
@threadqa
@threadqa Год назад
Ребят в связи с тем, что у многих возникают ошибки компиляции, нужно дополнительно установить библиотеку Jackson DataBind и создавать пустые конструкторы в Pojo классах. У меня такой ошибки нет, потому что в проекте установлен Selenide, а в нем уже встроен этот функционал Ошибка: java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of UserData (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) Ошибка: Cannot deserialize object because no JSON deserializer found in classpath.
@aleksandrivanov156
@aleksandrivanov156 Год назад
Сначала решил проблему (подтянул все твои библиотеки, и отключал по одной что-бы оставить только нужные), а потом почитал коммент) Не люблю я простые решения))
@Lazy4588
@Lazy4588 Год назад
решается добавлением jackson-databind и принудительным проставлением @JsonCreator @JsonProperty анотаций
@alexgordeeff
@alexgordeeff Год назад
@@aleksandrivanov156 ты не одинок)
@MoscowMyLife
@MoscowMyLife Год назад
Сделал, как рекомендуете, всё равно была ошибка (дошёл до 40 минуты +/- видео). Полез в документацию Jackson - там почитал. Потом пролистал вниз и читал все комменты и нашёл совет добавить Геттеры и Сеттеры. В итоге добавил библиотеку lombok к проекту + аннотации перед POJO-Классами @Getter @Setter и заработали тесты) Возможно я пропустил / не расслышал такую инфу в видео, что нужно добавлять и их тоже (Геттеры/Сеттеры).
@picknick7710
@picknick7710 Год назад
2 замечания. Первое - в начале видео когда добавляете rest-ashured в pom отображения того самого значка обновления не видно потому что на его месте месте ваше прекрасное лицо. Второе - не имейте привычки оставлять в видео то как вы едите/пьете это во первых не эстетично выглядит во вторых лично мне не приятно и не интересно что вы там пьете или едите. P.S. не упрОщённый вариант а упрощЁнный
@julia_19
@julia_19 2 года назад
Кайф! Спасибо за полезнейший контент 🙌 Наконец-то RA, API тесты, да ещё и на русском, да простят меня индусы 😁
@YashchiK
@YashchiK 2 года назад
молодец. Тебе надо курсы платные преподавать. Очень здорово объясняешь ребята, если у кого то после добавления users.forEach(x->Assert.assertTrue(x.getAvatar().contains(x.getId().toString()))); и попытки запустить, выводит ошибку от jackson "java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `api.UserData` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)" Это значит, что нужно добавить пустой конструктор в класс UserData. После конструктора с параметрами public UserData(Integer id, String email, String first_name, String last_name, String avatar) добавьте public UserData(){} и всё заработает. Почему в видео работает без дефолтного конструктора - не понятно
@user-ej5uw3qf7j
@user-ej5uw3qf7j Год назад
тоже не понял почему в видосе без пустого работает
@yarov_me
@yarov_me Год назад
Очень классный урок. С нуля очень доходчиво объяснил, всё встало на свои места. Особенно понравились примеры реальных ситуаций тестирования функционала. Много смысла унёс от твоей работы со стримами. Но хотелось бы ещё руку набить.
@romanbardachev9124
@romanbardachev9124 2 года назад
Супер видео! Пожалуйста, продолжай снимать. Было б круто увидеть серию видео о разработке целого фреймворка для авто тестов.
@user-nx3gk2er2m
@user-nx3gk2er2m 2 года назад
Огромное спасибо. Идея с курсом - отличная. Все объясняется в очень доходчивой форме, никаких вопросов не возникает.
@alexstart6240
@alexstart6240 7 месяцев назад
ТС - мега-круто! Все разжевано от и до! Большое спасибо за сам материал, и отдельное спасибо - за его такую подачу!
@maxkatrenko8865
@maxkatrenko8865 Год назад
Было бы интересно посмотреть как написать полноценный фреймворк для апи тестирования. Как правильно все по пакетам разложить, как создать какой-то универсальный реквест метод, чтобы не писать каждый раз given() и тд. Большое спасибо, очень помог!
@user-fd3ei5fd1v
@user-fd3ei5fd1v 7 месяцев назад
как можно поставить тысячи лайков разом?) Спасибо большое! Очень полезный материал, рада, что увидела.
@oleg._.
@oleg._. 2 года назад
Огромное спасибо, за полезный контент. Долго искал материал по RA, но не думал, что попадется такой, после которого не останется вопросов.
@user-bq8xk4mn5g
@user-bq8xk4mn5g 2 года назад
Классно объясняешь! Очень приятно смотреть твои видео.
@user-ks6hu5di9x
@user-ks6hu5di9x 2 года назад
Мимишность подачи зашкаливает)
@user-qw9uo4wo5p
@user-qw9uo4wo5p 2 года назад
Огромное благодарю! Очень полезно! Через два месяца буду Junior QA Automation, сейчас middle+ на большом проекте, но уйду в автоматизацию и посижу два месяца на джаве.
@thecomrad1677
@thecomrad1677 Год назад
И как ?
@RandomFromInternet419
@RandomFromInternet419 2 года назад
Комменты можно прямо с каналов индусов копипастить :) Спасибо! Прекрасно разъяснено! И работает сразу. Очень полезный тутор.
@Hocorend
@Hocorend Год назад
Спасибо, завтра собес на мидла, а я в основном в кукумбере+ геркин тесты писал, на готовых шагах, изредко их изменяя. Твои уроки ёмкие и весьма помогли разобраться с написанием шагов под бэк. Фронт я собственно уже умею, поэтому усвоился урок легко, всё вполне аналогично
@Anna-pe5vq
@Anna-pe5vq 2 года назад
Спасибо за видео , очень доступно описано и показано!
@channel_tag
@channel_tag Год назад
1:05:30 количество символов после точки может получиться и больше 5, и меньше 5. Поэтому я предлагаю такую регулярку: String regex = "\\..*$"; Это выражение найдет точку и вместе с ней выберет все символы до конца строки. А т.к точка в данном формате времени/даты одна, то не должно быть плавающих багов.
@channel_tag
@channel_tag Год назад
Вот, например, сколько символов может быть после точки: 2022-10-18T11:19:41 *_.892960400Z_* 2022-10-18T11:21:26. *_995Z_*
@picknick7710
@picknick7710 Год назад
Спасибо, очень помог твой комментарий !
@enered3944
@enered3944 Год назад
Спасибо, благодаря твоему комментарию у меня получилось выровнять формат времени, но у меня почему-то все равно тест падает из за несовпадения актуального и фактического результата и всегда отличие 2 минуты
@user-kl7sb9ng6v
@user-kl7sb9ng6v Год назад
(.{3}\..*)$ что бы наверняка.
@d.n.semenov
@d.n.semenov 4 месяца назад
@@user-kl7sb9ng6v Спасибо!
@luckytima2315
@luckytima2315 2 года назад
Супер целый час, кайфффф!! Главное продолжай , уверен что соберешь аудиторию ! ps. продолжаю ждать видосик по pom хотя бы 20 минутный ))
@threadqa
@threadqa 2 года назад
спасибо) попозже засниму про него)
@Artur-is8oj
@Artur-is8oj 2 года назад
Спасибо за качественный контент! В Рунете очень мало информации по Rest Assured
@lem0101
@lem0101 Год назад
спасибо, сделайте еще видео с наиболее используемыми тестами API
@lachinmehrali8130
@lachinmehrali8130 Год назад
Да прибудет с тобой сила! Спасибо большое!
@user-lg8ts5rj9h
@user-lg8ts5rj9h 11 месяцев назад
Для тех, у кого ругается последний тест: нужно создать вторую переменную regex1 и применить ее к currentTime, так как у меня например в currentTIme 11 символов пришлось убирать
@garrinchadossantos6381
@garrinchadossantos6381 2 года назад
Спасибо за это видео, и в целом за то что делишься своими знаниями!) Вопрос - будет ли какое нибудь видео с автотестами апи, где ты уделяешь тому как проходить авторизацию, то есть использование токентов и разных методов в автотестах. Спасибо ;)
@sserjioss
@sserjioss Год назад
Спасибо тебе за твои видео, они реально очень информативны и понятны. Если есть возможность, сделай видос про Cyprees и использование в нем GraphQL. Спасибо тебе, не останавливайся!!!
@user-ol9iu4iy6i
@user-ol9iu4iy6i 2 года назад
Огонь, и тут комментарий в поддержку, самый полезный контент по автоматизации на ютубе.
@swastest
@swastest 2 года назад
Ты крутой! Не забрасывай канал! Отлично объясняешь!
@Roman-ey1bn
@Roman-ey1bn 2 года назад
Очень классно! Все подробно и по делу! Желаю успехов каналу!
@threadqa
@threadqa 2 года назад
Спасибо)
@rokki777
@rokki777 2 года назад
Спасибо дружище! подача на отлично. Респект!
@ivanstrelka3448
@ivanstrelka3448 2 года назад
Огонь ждём ещё
@velrad1780
@velrad1780 2 года назад
Отличный курс молодого бойца по Rest Assured 👍👍
@crypto-frilanser
@crypto-frilanser 7 месяцев назад
Хороший трюк со стаканом))) но надо было после приветствия, типа здрасти бла бла - глоток - а теперь начнем))
@svetlanamazhaykina6918
@svetlanamazhaykina6918 2 года назад
Спасибо за Ваш труд! Коммент в поддержку канала
@gorshchak
@gorshchak 2 года назад
Спасибо за урок!
@asmr_codster
@asmr_codster 2 года назад
Классно ведёшь урок, респект!
@sergdeberzherak6264
@sergdeberzherak6264 2 года назад
Спасибо за видос, ждем продолжения)
@user-mm4gs1yn1h
@user-mm4gs1yn1h 2 года назад
Спасибо, тебя приятно слушать, продолжай.
@Roman-ey1bn
@Roman-ey1bn 2 года назад
18:52 в консоль выводит, но лист пустой. ошибка на .getList. Если у кого так, нужно в классе сделать пустой конструктор
@andrey_andrey1
@andrey_andrey1 Год назад
спасибо что ты есть)
@technonomicon_channel
@technonomicon_channel 11 месяцев назад
красавчик
@daryak7738
@daryak7738 2 года назад
Суперпонятно все рассказал!) Спасибо!
@Banksy529
@Banksy529 2 года назад
Спасибо за видеоурок. Очень доходчиво и понятно. Подписаться)
@user-ny6sz5yy6s
@user-ny6sz5yy6s 2 года назад
Спасибо за видео!!!
@user-sd6st7wf9u
@user-sd6st7wf9u 2 года назад
Спасибо за отличный контент
@user-eg2eg7xi3g
@user-eg2eg7xi3g Год назад
Спасибо за видос, очень качественно и без воды.
@Hikik0_m0ri
@Hikik0_m0ri 2 года назад
Автор, ты везде создаешь конструкторы используя библиотеку Jacson для работы с json. (ИМХО GSON лучше). Но джексон не умеет нормально с ними (конструкторами) работать без аннотаций JsonProperty и JsonAutoDetect. У новичков будет много проблем и падающие тесты. И для решения надо пометить все аннотациями или сделать дополнительно пустой конструктор. Чисто мимолетом глянул ролик, может потом об этом говорилось. Если так, то сорян :) Ну и идеи на будущие видосы, не приучай новичков все параметры хранить в классе с тестами. Есть те же енамчики..хотя бы туда скидывать ошибки, почты и тп. И вызывать их через USER.EMAIL. Когда вся дата в одном месте за ней проще уследить. А не бегать в каждом тесте менять на новую почту после апдейта разрабами.
@Roch3z
@Roch3z 6 месяцев назад
Ты лучший, GSON вылечил
@Hikik0_m0ri
@Hikik0_m0ri 6 месяцев назад
@@Roch3z))рад, что помог мой коммент))
@indarsnab
@indarsnab 2 месяца назад
Лучший!
@IvanPetrov-td6dk
@IvanPetrov-td6dk Год назад
Спасибо, отличная обучалка.
@daignatov
@daignatov 2 года назад
Привет! Подскажи пожалуйста алгоритм действий, когда в ресте дополнительно нужно прокидывать куки (токен авторизации, например)
@alexgordeeff
@alexgordeeff Год назад
Автор Красавчик, круто все разобрал по полкам, однозначно лайк, хотелось бы побольше уроков по сиай
@drnbndd
@drnbndd Год назад
суперспасибо! то, что искала
@nastyavyaz
@nastyavyaz 2 года назад
Спасибо за работу, полезное видео!
@First_black_List
@First_black_List Год назад
Добрый день. Запишите свой курс по чему угодно))) выложите на любом платном ресурсе. Я куплю!!!) Вам бы преподавать. Видео потрясающие
@user-ud8fu4bb9h
@user-ud8fu4bb9h 2 года назад
Отличный Пивозавр !
@victorsk9238
@victorsk9238 2 года назад
Спасибо большое за контент!
@Yukius
@Yukius 8 месяцев назад
почему то когда добавляешь пустые конструкторы, у меня ошибки уходят
@user-mu6lt7kz7b
@user-mu6lt7kz7b Год назад
молодец парень! очень доступно
@oriyadesu
@oriyadesu 2 года назад
спасибо за видео, очень понятно рассказываешь а будет видео еще с тест кейсами для rest assured?
@threadqa
@threadqa 2 года назад
видео будет, разберу как без pojo классов работать с ответом сервера
@fromthegreatunknown
@fromthegreatunknown 2 года назад
кажется мы с тобой в одном чате Ланит)) столько уже посмотрел уроков на эту тему, этот один из лучших
@oriyadesu
@oriyadesu 2 года назад
@@fromthegreatunknown блин внатуре)))
@alisa1558
@alisa1558 4 месяца назад
Всё хорошо, но названия полей класса лучше всё же делать по code convention, а то, что не матчится с JSON полями, так это легко исправляется аннотациями.
@tihonenko87
@tihonenko87 Год назад
21:15 контейнс тут не подходит, если айди 1 а аватар с индексом 11, то проверка будет пройдена, но это не корректно, там через регулярку бы 25:25 Второй пример можно через консумер сделать, в консумере извлечь что нужно и сделать ассерты
@user-dc1sm9fe2l
@user-dc1sm9fe2l 2 года назад
Привет, спасибо за воркшоп, очень полезно. Хотел бы попросить снять следующе видео в котором ты бы рассказал как правильно строить архитектуру тестов (какие директории создавать), где и как хранить Bearer token. Ещё было бы круто если это все крутилось на gradle.
@spin1613
@spin1613 2 года назад
Однозначно Лайк + Подписка! Продолжай в том же духе! Не хватило только авторизации. Но за весь труд 10/10!
@user-ux6sk5fd3h
@user-ux6sk5fd3h 2 года назад
И добавлю, что курсов по Java очень много, есть и очень качественные. Разве что углубленное что-то, с нуля не думаю что актуально. Или что-то вроде решение каких-либо практических заданий.
@RafisSabitov
@RafisSabitov 8 месяцев назад
Супер. Скиньте ссылку на 2 видео и если есть курс по Java, то тоже. Спс
@user-yr6ni4of1x
@user-yr6ni4of1x Год назад
Если кто то залез в комментарии ,чтоб посмотреть почему тест выдает ошибку и уже сломал голову не может понять в чем дело( как это было у меня) Попробуйте мой способ: создавайте в каждом классе дополнительно по пустому конструктору и все переменные класса я сделал публичными. Все работает на ура)
@threadqa
@threadqa Год назад
В зекрепе сделал ответ на этот вопрос))
@enered3944
@enered3944 Год назад
А если сайт будет не в свободном доступе, а нужна будет авторизация? например используя Token, как это можно сделать?
@ivanstrelka3448
@ivanstrelka3448 2 года назад
Нужно ли использовать специальные библиотеки для JSON типа GSON или Jackson? RA видимо и так успешно сериализует и десериализует объекты.
@threadqa
@threadqa 2 года назад
привет, нужно Jackson устанавливать отдельно, но если есть Selenide в проекте, то дополнительно ничего не нужно
@ivanstrelka3448
@ivanstrelka3448 2 года назад
@@threadqa понял, спасибо
@vitaly7196
@vitaly7196 Год назад
Олег, спасибо за контент, я понимаю почему так много внимания уделяется java, но фокус уводится от библиотеки playwright.Если будут силы было бы круто увидеть контент по этой теме.
@elefteria8251
@elefteria8251 Год назад
Bolishoe spasibo!
@Ruslan-ps9rz
@Ruslan-ps9rz 2 года назад
Видео понравилось спасибо. По самой джаве ничего не планируешь показать?))
@evgenytarasov3671
@evgenytarasov3671 6 месяцев назад
Олег, привет! Большое спасибо за качественный контетн! Если не трудно, можешь подсказать, как быть, если изначально для POST запроса у нас есть огромный json объект? Как быть в таком случае? Какой способ лучше использовать для создания запроса?
@romabulava899
@romabulava899 4 месяца назад
на каждый метод классы думаю не надо плодить, на сущности создавать и к ним билд приделать
@user-vu7dx4we8u
@user-vu7dx4we8u Год назад
шикарный видос
@mlpplgip
@mlpplgip 7 месяцев назад
Подскажите какие dependencies у вас кроме rest-assured
@user-ss9oi9cn9o
@user-ss9oi9cn9o 2 месяца назад
Всем привет, все получается, но не понимаю как в SINGLE USER (/api/users/2) достать значения чисто из "data". Получается, если создавать класс root, data and support и уже потом извлекать значения из "data". А можно как-то обойтись ТОЛЬКО созданием класса с переменными для "data" без root и support? В самом первом примере автор так сделал, только там был список "data", а у меня только один UPD: забавно, что через минуту догадался) SingleUser response = UserMethods.getUser().then().extract().jsonPath().getObject("data", SingleUser.class); в итоге для такого json нужен getObject("путь", класс для определения переменных);
@luckytima2315
@luckytima2315 6 месяцев назад
вот что раздражает в видео по АТ, то что они быстро усторевают, дольше сидишь копаешься, в том что, что-то вырезали или надо какие-то зависимости тянуть что бы все работало ...
@threadqa
@threadqa 6 месяцев назад
Популярная ошибка есть в зекрепе в комментариях
@alexandrsergeevich1967
@alexandrsergeevich1967 9 месяцев назад
время с сервера можно проверять в диапазоне "время отправки"< time < "время получения". и тогда не будет флаки теста
@user-du8rr3et3n
@user-du8rr3et3n 2 года назад
Подскажи, пожалуйста, почему не используешь проверки самого rest assured, а используешь Assert. К примеру asserEquals можно заменить на equalTo, assetNotNull - на .body("$", notNullValue() и т.д.
@threadqa
@threadqa 2 года назад
привет! у меня на канале есть вторая часть видео про Rest Assured, там я показал как делать проверки прямо в Rest Assured)
@oleholeh667
@oleholeh667 Год назад
Сделал по примеру как в видео в итоге при запуске с руки тест отрабатывает. А если через mvn clean test то почему то приходит пустой джисон.
@IvanPetrov-td6dk
@IvanPetrov-td6dk Год назад
16:36 тело обязательно извлекать? Я пробовал без body() - всё работает. body() же в разных местах цепочки можно вызывать. В body() до вызова extract() указывается условие для проверки, которое мы хотим проверить в ответе, правильно? А для чего вызывается body() после extract(), если и без него всё работает? Если в этом месте у body() указать условие, то оно подчёркивается красным, в этом месте у body стоит expected 0 arguments.
@alexbro5702
@alexbro5702 2 года назад
Вопрос, зачем, для тестирования апи (если это не юнит тесты) использовать что-либо кроме постмана?
@threadqa
@threadqa 2 года назад
Привет, кодом можно гораздо больше сделать чем через постман)
@sergeygusev7472
@sergeygusev7472 10 месяцев назад
Какую библиотеку изучать для автоматизации api на c#?
@evgeniymoroz8242
@evgeniymoroz8242 2 года назад
Привет. Как ты учился использовать Rest Assured? В официальной документации метод jsonPath используется всего в двух местах и несколько иначе, чем ты показываешь в видео. У тебя всё выглядит логичнее, чем в доке.
@threadqa
@threadqa 2 года назад
привет, я без документации делал просто интуитивно по названию метода)
@evgeniymoroz8242
@evgeniymoroz8242 2 года назад
@@threadqa а как понимаешь, что за чем должно идти? Как научиться пользоваться фреймворком без документации? И как ты понял, что удобнее сделать файл спецификации и pojo-классы?
@IvanPetrov-td6dk
@IvanPetrov-td6dk Год назад
Такой вопрос - когда мы пишем jsonPath в методе jsonPath().getList библиотеки Rest Assured, то путь к блоку data будет просто "data": jsonPath().getList ("data", UserData.class), а в методе read библиотеки jayway.jsonpath путь (jsonPath) к блоку data будет read("$.data"). Получается, jsonPath пишется не универсально, как, например, xpath, а для каждой библиотеки по-своему?
@user-zr2vp4zq3e
@user-zr2vp4zq3e 2 года назад
НЕ могу понять, почему выводит ошибку: io.restassured.path.json.exception.JsonPathException: Failed to parse the JSON document Хотя всё делаю точь-в-точь
@adrahmanbeckmyrzaev3001
@adrahmanbeckmyrzaev3001 2 года назад
Подскажите, почему на 18-й минуте не видно в консоле debagger?
@user-of8se7qg6c
@user-of8se7qg6c Год назад
Добрый день, автор! Могли бы вы предоставить все зависимости из вашего проекта?
@user-hl2mf5yk6h
@user-hl2mf5yk6h Год назад
После запуска теста Выбивает ошибку Failed to parse the JSON document Что может быть?
@alice_mor
@alice_mor 10 месяцев назад
У меня вообще всё не так (как обычно), жаль скрин не приложить. Парка java не зеленая, нет возможности создать Packege, вместо создания класса - создание java class diagram, файл формата java тоже нет возможности создавать, только просто файл и вручную задавать формат. Про то как всё происходит в RegresTest я вообще молчу( Не понимаю почему так( Но рассказываете очень понятно, спасибо.
@user-nc9ko3cv1j
@user-nc9ko3cv1j Год назад
У кого после этого com.fasterxml.jackson.core jackson-databind 2.13.4 ошибка не пропадает. Нужно еще добавить com.fasterxml.jackson.module jackson-module-scala_2.11 2.13.4
@gtzEWKA
@gtzEWKA Год назад
помогло,спасибо
@user-hl2mf5yk6h
@user-hl2mf5yk6h Год назад
После запуска теста Выбивает ошибку Failed to parse the JSON document Что может быть?
@user-qw3iv7tv1j
@user-qw3iv7tv1j Год назад
Помогло, спасибо!
@lazebnyikonstantin257
@lazebnyikonstantin257 2 года назад
Спасибо, интересненько). У меня не парсился json пока не прописал gson в pom.xml. Не подскажешь почему я не могу запустить тест через дебагер? Постоянно Exception in thread "main"
@Banksy529
@Banksy529 2 года назад
Сделал все, как ты показал в видео, но почему то на примере с 18 минуты выдало ошибку "java.lang.IllegalStateException: Cannot deserialize object because no JSON deserializer found in classpath. Please put Jackson (Databind), Gson, Jackson, or Yasson in the classpath." Не подскажешь с чем может быть она связанна? Не понравился ему класс UserData я как понял, но не понял почему
@threadqa
@threadqa 2 года назад
Привет, нужно добавит библиотеку jackson databind к проекту
@Banksy529
@Banksy529 2 года назад
@@threadqa спасибо большое
@vladb8675
@vladb8675 2 года назад
@@threadqa Олег, а как идея сама понимает, что нужно использовать эту зависимость? Ведь никаких импортов пакетов в тестовом классе мы не делаем (и в pojo-классе тоже!), и не создаём условный Gson gson = new Gson(); ?
@user-jg3lt8nz9k
@user-jg3lt8nz9k 2 года назад
@@threadqa добавила библиотеку, теперь такая ошибка java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `api.UserData` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
@user-jg3lt8nz9k
@user-jg3lt8nz9k 2 года назад
все, поняла, добавила пустой конструктор и все заработало, спасибо
@itlife8792
@itlife8792 2 года назад
У меня вконце упал тест (где со временем ассерт), я сделал вот так: String regex = "(.{8})$"; String regexResp = "(.{5})$"; String currentTime = Clock.systemUTC().instant().toString().replaceAll(regex,""); String respTime = response.getUpdatedAt().replaceAll(regexResp,""); Assertions.assertEquals(currentTime,respTime); также, по началу были ошибки связанные с джексоном, нужно было создать геттеры для всех полей + пустые конструкторы. и в тесте где создавали переменные для сравнения, я поменял вот так: (вынес значения сразу в ассерт) Assertions.assertEquals(4, successReg.getId()); Assertions.assertEquals("QpwL5tke4Pnpja7X4", successReg.getToken()); Спасибо тебе за урок) я раньше не юзал Pojo классы) просто скакал по элемента и через equals и contains сравнивал)
@alexandrlogodenco8375
@alexandrlogodenco8375 2 года назад
Столкнулся с той же проблемой. Помог вот такой regex: String regex = "(\\.?)(\\d{1,10})(\\w?)$"; Тест passed. Вывод обоих значений в консоль, оба показывают одинаковые pattern. 2022-08-05T14:54:39 2022-08-05T14:54:39
@ElenaChebysheva
@ElenaChebysheva 10 месяцев назад
Сделай плиз разбор для GraphQL
@nadinspb
@nadinspb Год назад
зачем примитивы менять на Object? (int vs Integer)
@DakarofArmenia
@DakarofArmenia 2 года назад
23:00 Я написал другой окончания имаила все равно работало
@YashchiK
@YashchiK 2 года назад
вопрос. А если мне нужен будет не только содержащийся массив "data", а еще и те данные, которые помимо него есть. Что мне при этом нужно строку с extract написать?
@threadqa
@threadqa 2 года назад
Привет, тогда можно просто extract.as(ClassName.class);
@YashchiK
@YashchiK 2 года назад
@@threadqa а ClassName должен при этом быть с тремя вложенными классами, как POJO выдает? Типа public class ClassName{ class Datum{} class Root{} class Support{} }
@threadqa
@threadqa 2 года назад
@@YashchiK да, ты извлекаешь полный ответ сервера в большой поджо класс, которые в себе должен содержать вложенные классы
@IvanPetrov-td6dk
@IvanPetrov-td6dk Год назад
47:08 Почему для класса unSuccessReg в цепочке given() отсутствует when()?
@threadqa
@threadqa Год назад
методы when() и and() это необязательный синтаксический сахар и используется просто, чтобы отделить визуальную логику строения запроса)
@IvanPetrov-td6dk
@IvanPetrov-td6dk Год назад
@@threadqa А) Получается, в создании экземпляра класса успешной регистрации тоже можно было их не использовать?
@mlpplgip
@mlpplgip 7 месяцев назад
Что делать если в given () просит вписать параметры, не получается как у вас написать
@user-ik8qh7ov1o
@user-ik8qh7ov1o Год назад
спасибо за видео.Но валится эта ошибка Cannot deserialize object because no JSON deserializer found in classpath. Please put Jackson (Databind), Gson, Jackson, or Yasson in the classpath
@threadqa
@threadqa Год назад
Установи библиотеку Jackson Databind
@user-ik8qh7ov1o
@user-ik8qh7ov1o Год назад
@@threadqa спасибо !
@gioeffectpro
@gioeffectpro Год назад
Ребята когда вам прилетает какая-то коллекция , всегда проверяйте , что она не пустая))) а то получите false positive test
@user-fu2qs6eo8c
@user-fu2qs6eo8c 2 года назад
учусь автоматизировать, еще мало понимаю, делаю все в точности как в ролике, как указано в 18 минуте видео запускаю ReqresTest но в консоли вылазит ошибка E:\Auto learning\Auto 1\src\test\java\API\ReqresTest.java:12:5 java: illegal start of expression и что дальше делать не знаю(
@threadqa
@threadqa 2 года назад
привет, скорее всего что то не указал посмотри у меня проект на гитхабе в описании под видео
@user-fu2qs6eo8c
@user-fu2qs6eo8c 2 года назад
@@threadqa Да спасибо, на тот момент я только начал обучение и просто забыл ; поставить). Теперь стоит задача сделать синхронный тест с 2 запросами, где для 2-го запроса будет использоваться тело ответа из первого запроса. Буду благодарен если подскажешь в каком видео можно это подсмотреть (с меня лайки и комменты)
@drakoraxab7363
@drakoraxab7363 Год назад
Спасибо за видео, очень помогло. По Вашему мануалу все получилось, но у меня по моему тесту есть вот такая проблема.. мне в body надо передать такое "headers":{"accept":"application/json","WAREHOUSE-TEST":"1"}, и вот куда бы я его не писал, и в поджо класс запроса и в сабо body теста и в спеку везде отдает одну и ту же ошибку error": { "message": "Validation error.", "additional": { "fieldName": "WAREHOUSE-TEST", "message": "Header parameter is not passed.", "bindings": [ Помогите плиз что я не так делаю( Если я запрос передаю весь стрингой тогда проходит все без ошибок и ответ правильный. Заранее спасибо.
@threadqa
@threadqa Год назад
Привет, тебе это в заголовки надо помещать в блок headers
@drakoraxab7363
@drakoraxab7363 Год назад
@@threadqa Привет, забыл отписать, там как раз в заголовке и не подходило надо было именно в бади передать. Но в итоге проблема была в том что я не правильно импорт подтянул для @JsonProperty и поэтому не видело имени которое я присваивал. Сделал все с нуля и все заработало. Спасибо большое за Ваши уроки.
@GPT3.5
@GPT3.5 Год назад
А вдруг кто ответит) Подскажите кто как решил проблему запуска api тестов параллельно на rest assured ?
@threadqa
@threadqa Год назад
привет, а зачем паралельно апи тесты, они ведь и так быстро идут) плюсом еще можешь блокировку поймать за слишком частое обращение к серверу
@tomadeira824
@tomadeira824 Год назад
@@threadqa а как быть в случаях, когда количество апи тестов переваливает за 10к?
@smarthedgehog3185
@smarthedgehog3185 Год назад
стримом мап в инт лист потом ещё раз стримом сорт? Эмммм.... можно было сразу после map(...).sorted().collect(...) Для того стримы и есть чтобы так работать с коллекциями.
Далее
УГАДАЙ ЕДУ ПО ЭМОДЗИ! #shorts
00:57
Просмотров 130 тыс.
УГАДАЙ ЕДУ ПО ЭМОДЗИ! #shorts
00:57
Просмотров 130 тыс.