@qa_ru

Страница 351 из 1080
vyazovoy
21.02.2017
04:42:01
это впн же. прокси это например плагин для хрома frigate.

Shoo
21.02.2017
06:02:24
Закрутил так закрутил, этот паттерн просто описывает логическую часть страницы, всё остальное притянуто за уши
Видимо, читая один и тот же текст, мы с вами видимо разное. Я вижу вполне понятную декларацию разделения логики тестов от логики объектов. Вынесение локаторов в отдельный уровень - и правда немного другая история, больше про UI Mapping, но в рамках Page Object тоже отлично поддерживается.

Google
Diana [CatsTrack R10]
21.02.2017
07:39:16
Кто-нибудь работал плотно с Windows Performance Recorder?.. последнее время больше Assesment toolkit гоняла, а тут появилась необходимость провести ряд тестов под WPR, и я внезапно столкнулась с тем, что по каким-то причинам в ETW попадают только последние события перед save-ом (например, шла построчная запись в файл, 100 итераций по 1000 строк), и в WPA вижу адекватное время "жизни" процесса, но дисковая активность, прохождение через минифильтры и т.п. - только для последних "2.5" итераций. Я так понимаю, что применяется профиль для transient performance issues, но вообще все настройки соответствуют прекомендациям для "ustained performance issues".

Stanislav
21.02.2017
10:33:02
кстати, как вам следующая модель автоматизации тестирования веба - автоматизатор подготавливает платформу, автотесты пишет ручной тестировщик. Автоматизатор подготавливает инфраструктуру (фреймворк, виртуалки, логирование). Причем во фреймворке нет инициализации объектов, зато есть таблица в базе и интерфейс для добавления объектов (jquery синтаксис, например) Ручной тестировщик учит jquery и для написания автотеста сам добавляет нужный ему объект в базу. тем самым момент актуализации при изменении путей в dom-дереве лежат не на автоматизаторе, а на ручном тестере

Shoo
21.02.2017
10:34:37
Во первых, при правильной организации поддержка локаторов не занимает так уж много времени, что бы её было необходимо на кого-то спихивать. Во вторых, проще один раз объяснить людям, как выдирать условный xPath из девпанели гуглхрома и дать им обновлять список локаторов. Никакого рокет-саенса, ради которого стоило бы пилить отдельные инструменты с сомнительными интерфейсами, там нет.

Stanislav
21.02.2017
10:39:24
То есть в данном случае xpath лучше чем jquery

Shoo
21.02.2017
10:43:54
Ну, лучше всего - тестовые айдишники, потому что перемещение элемента по дому их не ломает.

Но да, xpath лучше jquery, потому что не требует велосипедов.

Pavel
21.02.2017
11:02:56
вы там видел Fluent Page Object ? ( https://youtu.be/jT1mIQmdVuo?t=25m6s )
Интересный видосик? Стоит посмотреть?

Ivan
21.02.2017
11:49:28
Интересный видосик? Стоит посмотреть?
я б посоветовал, сам не досмотрел, но очень хочется

Pavel
21.02.2017
11:50:14
У нас как раз сейчас в проекте непонятки, как работать с PageObject и что туда стоит засовывать

Ivan
21.02.2017
11:55:21
если я правильно пониммаю, то jquery как представитель css? а xpath ему противопоставляется на основании чего? xpath требует постоянного перестроения при длинной нотации, если у тебя элемент в элементе не ищется. У меня была необходимость починить чужие тесты с xpath - так вот там надо было из 10 /div/div/div.../div поставить порядковый номер одному из дивов, что это за див и где его найти - никаких идей :) хоть что-то сместил - и абсолютно другой объект находтися. в этом случае id либо data-test (или как угодно назвать можно) атрибут к элементу, что бы изменения DOM не сказывалось на остальных элементах, а при короткой длине особой разницы нет.

Nikita
21.02.2017
12:00:15
Google
Shoo
21.02.2017
12:02:58
чем BDD не угодил?
Тем, что для большинства случаев это излишний уровень абстракции, который тоже надо поддерживать, развивать и дебажить, который при этом неистовый оверхед.

Ivan
21.02.2017
12:03:14
ну, я просто попытался предположить чем xpath крут, а jquery ацтой. костыли есть везде

так ведь в этом случае тесты становятся приятны и понятны всем заинтересованным лицам, которые умеют читать (я про BDD).

оверхед на инженеринг есть везде, поддержка - тоже

Ivan
21.02.2017
12:04:49
PO и заказчикам как тестовая документация

если она нужна

Shoo
21.02.2017
12:05:05
Если нужна тестовая документация - пишите тестовую документацию.

БДД тесты таковой всё равно не являются.

Nikita
21.02.2017
12:05:30
Тем, что для большинства случаев это излишний уровень абстракции, который тоже надо поддерживать, развивать и дебажить, который при этом неистовый оверхед.
не сказал бы, что их сложно поддерживать, зато у тестов крутая читаемость и понятное поведение, никакой магии для внешнего человека) и еще становится приятнее писать тест на реальный юзкейс по БДД, чем по xUnit'у условному

А кому, кроме QA и разработчиков, они должны быть понятны?
разработчику другой команды, который пишет на другом языке, например)

Shoo
21.02.2017
12:06:17
не сказал бы, что их сложно поддерживать, зато у тестов крутая читаемость и понятное поведение, никакой магии для внешнего человека) и еще становится приятнее писать тест на реальный юзкейс по БДД, чем по xUnit'у условному
Вы всегда пишете реальный тест под реальный юзкейс. Вы или пишете код, или пишете псевдокод. Псевдокод - лишняя депенденси, которую надо поддерживать.

Shoo
21.02.2017
12:07:03
Нет, я пишу на пайтоне, сейчас пересаживаюсь на рубя. На джаве тоже писал. Но к чему вопрос?

Nikita
21.02.2017
12:07:22
ну просто я такие аргументы слышу исключительно от тех, кто пишет/писал на джаве)

Shoo
21.02.2017
12:07:38
разработчику другой команды, который пишет на другом языке, например)
Даже человек без опыта программирования вообще за вечер-два может неспешно разобраться в синтаксисе автотестов. Благо логика там примитивнее некуда.

Nikita
21.02.2017
12:08:53
лишняя абстракция и блаблабла, ну да, дополнительный уровень, который читаемость повышает и помогает делать очевидную и удобную параметризацию местами

Shoo
21.02.2017
12:08:58
Если вы пишете нечитаемый код - БДД вас не спасёт. Если вы пишете нормальный читаемый код - полезность от БДД есть только условным менеджерам, которым это ненадо читать.

Nikita
21.02.2017
12:10:03
у меня нет менеджеров, у меня есть фронты, которые хотят понять, что происходит в тесте и что где упало за минимальное время, а не пытаться разобрать трейсбек и код теста

Shoo
21.02.2017
12:10:49
Ещё раз, у вас фронтендер не может разобраться в коде тестов? Вы там, простите, логику коллизий в тесте описываете, или что?

Google
Shoo
21.02.2017
12:11:24
Тогда вы пишите в тестах то, чего не надо писать в тестах. Thats all folks.

Shoo
21.02.2017
12:12:42
Ну, т.е. тесты сами по себе - предельно простая по логике вещь. У вас есть прекондишен, вынесенный в отдельный кусок кода а-ля Setup, у вас есть Action и есть Assert.

Самая сложная часть всего этого - прекондишен.

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

Shoo
21.02.2017
12:14:06
Причем тут селекторы, собственно?

Валидный тест это всегда precondition -> action -> assert.

Nikita
21.02.2017
12:15:10
а, ну я не так прочитал) по логике простая, да

Ivan
21.02.2017
12:15:13
эх, если бы все писали простые и понятные автотесты, зачем бы мы здесь вообще общались и конференции устраивали...

Nikita
21.02.2017
12:15:20
вопрос в том, что делать если у вас 5 прекондишенов

Nikita
21.02.2017
12:15:27
и в разных тестах они разные

Shoo
21.02.2017
12:15:30
эх, если бы все писали простые и понятные автотесты, зачем бы мы здесь вообще общались и конференции устраивали...
Ну, так может имеет смысл учиться писать автотесты, а не обвязками обмазываться?

Nikita
21.02.2017
12:15:48
тогда уже не так и просто :)

Ivan
21.02.2017
12:16:05
PageObject не нужен, обвязками наобмазывались

Shoo
21.02.2017
12:16:08
Если у вас 5 прекондишенов в разных тестов - это, по сути, пять разных тестов.

Ivan
21.02.2017
12:16:09
да вы писать не умеете

а я дартаньян

Shoo
21.02.2017
12:16:19
PageObject не нужен, обвязками наобмазывались
Пейдж обжект - не обвязка, это паттерн.

Google
Shoo
21.02.2017
12:16:30
БДД - обвязка, потому что вводит дополнительный уровень абстракции.

Грубо говоря, фреймворк.

Nikita
21.02.2017
12:16:47
тоже вводит фикстурки, удобные прекондишены

Ivan
21.02.2017
12:17:10
bdd грубо говоря тоже фреймворк

Nikita
21.02.2017
12:17:14
давайте без них будем жить в питоне, unittest с сетап-теардаун и поехали

Shoo
21.02.2017
12:17:25
Пайтест тоже обвязка. И как только логика тестов выходит за то, что предусмотрено пайтестом - начинается лютая боль.

Nikita
21.02.2017
12:17:28
и геттеры с сеттерами писать в питоне будем заодно

Admin
ERROR: S client not available

Ivan
21.02.2017
12:17:29
а я к тому, что я не очень различил нелюбовь к однму и любовь к другому

Shoo
21.02.2017
12:18:04
Затрудняюсь сказать, юзаю пайтест исключительно для генерации отчетов.

С Селениумом наглядный пример - подмена запросов\ответов.

Nikita
21.02.2017
12:18:43
С Селениумом наглядный пример - подмена запросов\ответов.
раскройте мысль, не очень понял, если честно. проблема в том, что ее там нет?

Ivan
21.02.2017
12:18:51
так ведь есть объекты дома, а то что ты с ними работаешь через PageObject - это как раз паттерн по написанию обвязки. Так как то, чего нет в PageObject - не сможешь использовать в тестах. Тот самый уровень абстракции

Shoo
21.02.2017
12:18:54
Встал господин Баранцев в позу, что "Мы про юзер-лайк тестирование" и всё, что обёрнуто в запрос селениума ты не достанешь никак.

Бдд - это фреймворк.

Nikita
21.02.2017
12:20:30
поэтому он может в реально видимые элементы, например, а не просто в доме находить цссочки

Google
Shoo
21.02.2017
12:21:44
ну он прав, нет? селениум и делали для user-like тестирования)
Прав или нет - понятие относительное. Это их право делать свой фреймворк так, как они считают нужным. Проблема в том, что если для 90% тестов их "видение" фреймворка совпадает с моими задачами, а для 10% - нет, то фреймворк мне не подходит.

Потому что приходится сидеть и втыкать костыли.

Nikita
21.02.2017
12:22:06
а что вы используете в питоне и в рубях? на чем тесты бегают?

Ivan
21.02.2017
12:22:25
аля тыкать в невидимые объекты или что? можно подробнее, мне стало интересно

Shoo
21.02.2017
12:22:34
Вот использование любой сторонней библиотеки - это такого рода риски. С БДД, за счёт черезвычайно высокого уровня абстракции, этих рисков больше (ибо каждый уровень абстракции это +1 место где что-то может пойти не так).

Nikita
21.02.2017
12:22:55
просто как бы на западном рынке Ruby это синоним Cucumber+Watir, и топовые чуваки юзают Ruby потому что BDD там роднее некуда

Shoo
21.02.2017
12:23:25
У нас TDD тесты пишутся через RSpec и вот это всё.

Автотесты - на капибаре.

Nikita
21.02.2017
12:24:04
эээ

Ivan
21.02.2017
12:24:07
Ещё раз, Пейдж обжект про то, как структурировать код. Он не вводит дополнительных библиотек, зависимостей и прочего. Это паттерн.
Уровень абстракции — один из способов сокрытия деталей реализации определенного набора функциональных возможностей. Применяется для управления сложностью проектируемой системы при декомпозиции, когда система представляется в виде иерархии уровней абстракции. давайте определим "Уровень абстракции" как сказано выше. В каком виде PageObject не создаёт уровень абстракции? Сокрывает как именно и с какими элементами он взаимодействует для выполненеия конкретного действия, так?

Shoo
21.02.2017
12:24:09
Под руби много классных продуктов, ватир и кукумбер лишь одни из.

Nikita
21.02.2017
12:24:11
TDD на уровне функциональных тестов?

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

куча всего классного, это правда

Shoo
21.02.2017
12:24:39
Нет, ТДД на уровне юнитов. Там Рспек. На уровне функциональных - капибара и никакого бдд.

Nikita
21.02.2017
12:24:42
регулярки из коробки ван лав)

я верно понял?

точнее на юнитах бдд конечно не нужно

но почему тогда рспек

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