@qa_ru

Страница 819 из 1080
Ivan
27.12.2017
16:02:56
сейчас же уже 17 версия

поставь актуальню ?

с сайта у них

Google
Ivan
27.12.2017
16:03:31
в yum репе старая версия лежит

Roman
27.12.2017
16:03:54
Ivan
27.12.2017
16:04:16
docker logs имя-контейнера

Alexander
27.12.2017
17:09:12
Исходные данные: использую робот фреймворк для тестов под селениум. Из консоли тесты выполняются нормально(ожидаю пока элемент появится на странице). Проблема: при попытке запилить это всё под дженкинс, то под дженкинсом периодами получаю вылет с тем, что элемент невидим. Судя по скриншотам, элемент есть, но страница не успела прогрузиться и доскролиться до нужного элемента. Вопрос: не подскажете как с этим бороться? Изменить условия ожидания элемента на странице на условие появления+видимости? Можно покидать ссылками как правильно организовывать тесты с подобными примерами, если у кого под рукой есть :)

Shoo
27.12.2017
18:49:00
Заменить все захардкоженный ожидания на smart wait.

Alexander
27.12.2017
19:55:39
@azshoo Шо это такое и где на него посмотреть?

Shoo
27.12.2017
19:57:35
В целом в гугле, но вот в качестве примера: http://toolsqa.com/selenium-webdriver/advance-webdriver-waits/

Гуглил на ходу, но на первый взгляд довольно подробно и корректно изложено.

Alexander
27.12.2017
19:59:53
спасибо. но про FluenWaits я вчера древнее видео от Баранцева смотрел. но тут придётся писать свою реализацию...

или искать уже готовую, если таковые есть...

Shoo
27.12.2017
20:03:57
Ну, реализация занимает строк 10 кода, но можно спокойно нагуглить готовую реализацию или вдохновиться примером из исходников протрактора.

Alexander
27.12.2017
20:05:53
так тож реализация, а тож тащить её использование совместно с Selenium2Library

Shoo
27.12.2017
20:08:28
Ну, я не вижу проблемы вызывать другую функцию там, где у вас и так вызывается вэйт. Но вообще да, подрубать фреймворки весело до тех пор, пока не приходится в них что то вкорячивать.

Google
Richard
28.12.2017
01:04:02
Бан ксении за матерные стикеры и спамеру за видосы. ВЖУХ!, да.

Andrey
28.12.2017
06:52:31
можно сюда глянуть https://github.com/unickq/allure-nunit или клепать с https://github.com/allure-framework/allure-csharp

вот пример моей реализации: https://github.com/undron/NUnitAllureBase

Aliaksandr
28.12.2017
06:55:49
Ага, супер.

Наверное, придется в отпуске заняться)

А вот этот unickq вы не тестили?

Andrey
28.12.2017
07:03:02
тестил, но нам не сильно это подходит, да и влом над каждым тестом писать столько аттрибутов

Dmitry
28.12.2017
07:15:14
Как лучше делать? Заранее все сущности создать в базе или перед началом теста создавать(через апи)? То есть для каждого теста вначале будут создаваться данные нужные именно для этого теста

Artem
28.12.2017
07:19:30
а чем плох вариант создания и удаления в конце теста? если это быстро и стабильно.

+ не будут ли портиться данные в базе?

из-за тестов

Dmitry
28.12.2017
07:20:49
Это через апи делается там ссоздание создание в несколько степов занимает меньше секунды

Artem
28.12.2017
07:21:09
а есть возможность подсчистить за собой?

так же быстро

Dmitry
28.12.2017
07:21:24
Да тоже через апи можно базу снести

Artem
28.12.2017
07:21:51
Лично я бы выбрал вариант создать-заюзать-удалить

Google
Aleksandr
28.12.2017
07:22:30
Всем привет! Тут возник вопрос, сам раскурить не смог. ? Дано: 1. Jenkins с плагином Blue Ocean, бегущий в докере (офицально рекомендуемый вариант, основанный на alpine linux) 2. Тесты фронтенда, использующие puppeteer (chrome-headless) Проблема: Puppeeter не рабоатет в alpine linux. Гугление и нахождение возможных вариантов решения проблемы (типа установки зависимотей в контейнер с Jenkins не помогли). Предложите варианты решения?

Dmitry
28.12.2017
07:24:58
оба варианта имеют плюсы и минусы и применимы различным образом в различных условиях
Вот я тоже пришел к такому выводу, только по каким критериям решить какой вариант мне больше подходит? У меня есть человек который ооворит надо в базе все делать, а я сделал через апи

Maxim
28.12.2017
07:27:24
Dmitry
28.12.2017
07:28:17
У меня так уже есть как по мне так апи норм )) как по снению другого чувака база рорм

Artem
28.12.2017
07:30:44
а вы не можете испортить тестовые данные в базе?

своими тестами

Anton
28.12.2017
07:31:44
Вот я тоже пришел к такому выводу, только по каким критериям решить какой вариант мне больше подходит? У меня есть человек который ооворит надо в базе все делать, а я сделал через апи
есть ситуации, когда создание всех сущностей для теста может занять много времени, а сами сущности по ходу теста могут не изменяться и не модифицироваться. В этом случае удобнее использовать заготовленные данные. Опять же: эти же сущности могут устаревать со временем - и раз в период времени их придется обновлять (руками или скриптом) - это аргумент в пользу Создания каждый раз сущностей. Еще один момент: Как устроена тестовая инфраструктура. Допустим у вас один тестовый стенд с одной постоянной базой: каждый раз создавая туда сущности вы его закакаете. Или у вас есть инфраструктура, позволяющая из какого-то эталона подтягивать дамп базы вместо текущего, в котором АТ попортили данные: в этом случае не жалко создавать и маньячить данные как заблагорассудиться в тестах.

Далее фактор времени: Действия, перед тестами могут вызываться во многих кейса - и, например, создание пользователя - занимающее 5-7 секунд через апи, инициированное сто раз сделает длительность выполнения тестов ~10 минут. Если простое использование имеющихся данных закрывает ту же потребность внутри тестов и занимает 2-3 секунды - то на те же 100 случаев получится ~4-5 минут - что сократит общее время выполнения тестов.

конечные критерии для выбора Заготовок и Создания данных - нужно определять для каждого конкретного случая.

все ИМХО - готов обсудить, если кто не согласен :)

Shoo
28.12.2017
07:48:43
Я, лично, за переиспользование сущностей внутри тест-рана, как минимум, т.к. подготовка сущностей в случае высокой связанности может быть лютым геморроем. Но это выливается в поддержку поисковика подходящих сущностей и немножечко боли с консистентностью данных. Другое дело, что если падение теста рождает неконсистентность данных - это тоже может быть признаком ошибки, которую надо править.

Levan
28.12.2017
08:04:57
У меня так уже есть как по мне так апи норм )) как по снению другого чувака база рорм
при before-test-after у тебя вся логика проверки сгруппирована в одном месте и удобно вносить изменения. если будет некий super pre condition с базой, то при частых изменениях можно не уследить за необходимым кол-вом создаваемых элементов и тем что по факту используются в тестах. то есть не все так очевидно получается. ты не сможешь прочитать в тесте: "тут я создаю 4 объекта - провожу тест - удаляю 4 объекта".

Admin
ERROR: S client not available

Dmitry
28.12.2017
08:07:25
у каждого теста так сказать первый тест это успешно создать сущность для теста и если создается то идем дальше

в случае если тест падает по какой-то интересной причине можно зайти на тот аккаунт и ручками посмотреть что не так и не придется заморачиваться со всей настройкой аккаунта

Evgeniy
28.12.2017
08:13:44
Вообще все те же вопросы тут из раза в раз уже обсуждались ранее

Google
Shoo
28.12.2017
08:22:19
Женя, жизнь циклична.

Aleksandr
28.12.2017
08:24:32
Действительно, даже я в чат вернулся. И на мои долбанутые вопросы снова не отвечают.

И на это я уже жаловался. ?

Shoo
28.12.2017
08:25:53
А что можно ответить на твой вопрос, собственно? Ты используешь две несовместимые между собой технологии, получаешь тыкву. Вариант: не используй их.

На самом деле, они, конечно, совместимые, судя по гуглу. Но по твоему описанию проблемы всё выглядит именно так, как я описал чуть выше.

Aleksandr
28.12.2017
08:27:46
Ну, зачем ты так сразу? ? Я наделся, вдруг кто-то заводил уже такую комбинацию. Это же придется не в докере поднимать дженкинс. Настраивать там все.

Shoo
28.12.2017
08:32:03
Или не использовать паппитир, а брать селениум.

Мне кажется в github issues вполне понятно изложено, что да, люди это заводили и иногда оно работает. Проблема в совместимости дефолтных версий и в том, что поддерживает оно друг друга с горем пополам. Кажется это хороший повод не делать так.

this https://github.com/GoogleChrome/puppeteer/issues/290 and this https://github.com/GoogleChrome/puppeteer/issues/379

Ну, и всегда можно законтрибьютить в опенсорс, если очень хочется. :)

Dmitry
28.12.2017
08:35:57
Вообще все те же вопросы тут из раза в раз уже обсуждались ранее
прочитал вам ранее спор на эту тему. получается разница только в том что если заранее создаешь ты в самом тесте видишь что именно в этом аккаунте есть и что создается, в базе в случае изменений геморой будет это все изменять

вывод что-то создавать в базе что-то создавать перед самим тестом

Shoo
28.12.2017
08:36:45
Формально, если локально всё работает, а в докере падает, то очевидна проблема версионности зависимостей. Если в докере у тебя будет та же версия всех dependencies, что и вне оного - оно заведется. Хардкодить в конфиге все версии вплоть до минорных - так себе план, но должно решить проблему.

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

Dmitry
28.12.2017
08:37:49
взять плюсы из каждого подхода и сделать комбинированный способ =)

Shoo
28.12.2017
08:38:11
И получить все минусы и неконсистетность в добавок, да. :)

Dmitry
28.12.2017
08:38:11
на простые случаи в базе создаем чтобы поддерживать лешко было или вовсе не надо было, а чуть сложнее в самом тесте делать

то есть просто создать аккаунт дял проверки интерфейса и простых внутреностей, то в базе создавать, если уже что-то сложнее пополнение баланса, активирование емайла, телефона уже в начале самого теста

Shoo
28.12.2017
08:40:31
Не очень понимаю: "Зачем?"

Сложность поддержки подготовки данных прямопропорциональна тому, сколько способов подготовки этих данных используется.

Google
Aleksandr
28.12.2017
08:48:17
this https://github.com/GoogleChrome/puppeteer/issues/290 and this https://github.com/GoogleChrome/puppeteer/issues/379
Конечно, я все это читал и пробовал. Но все равно спасибо. А переезжатьт на Selenium на данный момент не очень реально в нашей реальности.

Shoo
28.12.2017
08:50:07
Ну, окей, Саша. Проблема: та же что в issues или другая?

Aleksandr
28.12.2017
08:54:52

Страница 819 из 1080