
Evgeniy
23.03.2017
15:36:59
цена в рублях - это конвертация долларовой цены из европейских магазинов.
Имхо, лучше тебе это спрашивать в других местах, к QA это не имеет никакого отношения

Егор
23.03.2017
15:44:04
Не имеет, но ты подробнее ответил, чем на 3 конфах по железу )

Richard
23.03.2017
16:34:39
Давайте поближе к теме.

Google

Eugene
23.03.2017
17:10:06

Hell
24.03.2017
06:54:01

Дмитрий
24.03.2017
06:55:08
Кому не лень, можете пройти коротенький опрос? Знакомому нужно, для ТЗ(4вопроса)
https://docs.google.com/forms/d/e/1FAIpQLSeJG61X0NSRxikn7xgmKIUYtXjeE8R3zYvnun0s3zEzX4brCA/viewform

Alexander
24.03.2017
06:56:27
странно, что выбор неопределившихся подразумевает ответ

Evgeniy
24.03.2017
06:57:41
странно, что для тех, кто хочет не портить статистику "дефолтным" значением пола, "Я еще не понял" не как по умолчанию.

Alexander
24.03.2017
06:58:08

Evgeniy
24.03.2017
06:58:30
не умеют что? выставить первым в массиве данных "я еще не понял"? :)
чтобы чекбокс был на этом варианте

Alexander
24.03.2017
06:59:05
по умолчанию переключатель вообще не установлен.

Evgeniy
24.03.2017
07:00:31
таки да. какая-то дичь, в общем. Может это опция для трансгендеров?

Pavel
24.03.2017
08:05:23
чем оно лучше PHPUnit
Оно содержит phpunit в том числе + еще умеет функциональные тесты гонять + дружит с селениумом + недавно стало можно писать сценарии на gherkin

Evgeniy
24.03.2017
08:09:28
не понимаю, зачем придумывают эти человеко-ориентированные обертки - по факту это еще один DSL , с которым тебе же и придется разбираться.

Google

Evgeniy
24.03.2017
08:10:48
добавленная сущность, которая тебя вроде как повысит на рынке труда, как умеющие настраивать вебпак для сложного проекта, рокетсайенс для бедных.

Pavel
24.03.2017
08:32:30
Затем чтобы абстрагироваться от деталей языка разработки и сдвинуть концентрацию в сторону бизнес задач

Shoo
24.03.2017
08:32:58
У человеко-ориентированных оберток есть одно единственное преимущество:
Тесты выглядят консистентно независимо от того, что у них под капотом.
У тебя в step definition могут хоть куски ассемблера вызываться, на читаемость логики теста это слабо влияет.
В остальном, конечно, боль и гемор.

Evgeniy
24.03.2017
08:39:18

Shoo
24.03.2017
08:41:07
Читаемость - тоже один из параметров "лучше\хуже".
Все остальные параметры уже закрыты под капотом и зависят исключительно от ваших рук.

Николай
24.03.2017
08:43:10
Я вчера написал свой первый кейс с применением пейдж обджект. Уууииии ^_^

Alex
24.03.2017
08:44:06
мои поздравления! :)

Pavel
24.03.2017
08:45:34

Evgeniy
24.03.2017
08:46:55

Pavel
24.03.2017
08:47:33
Вопрос архитектуры под тестами это совсем другое. Можно и в SOLID принципах делать все эти лексемы DSL

Николай
24.03.2017
08:48:17

Evgeniy
24.03.2017
08:48:39
давай, я посмотрю ?

Pavel
24.03.2017
08:48:47
А сорян, думал это на мое сообщение ответ :)

Дмитрий
24.03.2017
18:55:03
Jooble:
Кому не лень, можете пройти коротенький опрос? Знакомому нужно, для ТЗ(4вопроса)
https://docs.google.com/forms/d/e/1FAIpQLSeJG61X0NSRxikn7xgmKIUYtXjeE8R3zYvnun0s3zEzX4brCA/viewform

Pauloo89
25.03.2017
20:30:42
подскажите приложение на андроид для определения size класса девайса?

Николай
26.03.2017
01:10:51
Йоу йоу!))) я тут пейдж обджект свой первый накидал...)
Да еще и в гит залил ))
Зацените плз
https://github.com/Reykoma/vk.com.git

Google

Andrey
26.03.2017
01:16:21
Молодец, но пароль scarlett2013Xx не везде поменял
Проверь где еще нет)
C:\Users\Красавчик\AppData\ хороший выбор

Николай
26.03.2017
01:22:26
?? бл...
не зря я в вк пароль сменил

Andrey
26.03.2017
01:32:08
Как бы неоч про pageobject
Смысл в том, чтобы сделать реиспользуемые шаги в тестировании
А так ты повторил те же сущности без профита
https://kreisfahrer.gitbooks.io/selenium-webdriver/content/page_object_pattern_arhitektura_testovogo_proekta/ispolzovanie_patterna_page_object.html

Николай
26.03.2017
01:38:33
то есть пример здесь не правильный?
https://www.pluralsight.com/guides/software-engineering-best-practices/getting-started-with-page-object-pattern-for-your-selenium-tests

Andrey
26.03.2017
01:47:45
Все зависит от целей

Andrey
26.03.2017
01:48:10
В твоем примере товарищ показывает как он классно знает джаву
В общем смысле автоматизация должна вроде бы сокращать усилия

roma
26.03.2017
07:43:31
Здарова) Кто на BAQ сейчас из чата есть?)

Evgeniy
26.03.2017
19:29:51
Baq: a slang term for oh shit, fuck, what the fuck, thats fucked up, or you just got slapped.

Николай
26.03.2017
19:52:58
и все же.. кто нибудь может сказать нормальный это пример реализации пейдж обджекта или нет? можно по нему делать так же или нет?
https://www.pluralsight.com/guides/software-engineering-best-practices/getting-started-with-page-object-pattern-for-your-selenium-tests


Evgeniy
26.03.2017
20:21:16
@nkrotov
public String confirmationHeader(){
return header.getText();
}
смотри, ты получаешь текст эл-та, почему бы не назвать headerText геттер?
второй момент, у тебя в тесте есть такое:
assertTrue(signUpPage.isInitialized());
нет большого смысла проверять явно в тесте, загрузилась страница или нет, если ты работаешь с пейдж-объектом страницы, ты по факту рассчитываешь, что она загрузилась, поэтому нужно эту логику проверки, что страница загрузилась - переместить в конструктор этого класса
isDisplayed по факту не всегда дает знаний и уверенности, что страница загрузилась, я бы определил эл-т, который последним грузится на странице, или эл-т, который доподлино грузится тогда, когда все эл-ты нужные для проверки уже загружены, и через webDriverWait проставил таймаут запроса и ожидания состояния этого эл-та (либо expected condition: element located, либо element visible)

Google

Николай
26.03.2017
20:37:49
уфф

Evgeniy
26.03.2017
20:40:54
т.е. по факту инициализации пейдж объекта, т.к. логика его "правильной загрузки" будет в конструкторе, ты избавляешься от необходимости в тестах каждый раз дергать ассерт на isInitialized()
в свою очередь, эта isInitialised() логика будет реализована не "падучим" isDisplayed - страница не грузится моментально, а будет делать попытки найти элемент в нужном состоянии на странице за счет webdriverwait метода и поиска нужного эл-та страницы с заданым таймаутом

Admin
ERROR: S client not available

Николай
26.03.2017
20:47:10
я попробую завтра это все перечитать и осознать. спасибо

Shoo
27.03.2017
06:56:41
В прочем холиварить тоже лень :(

Dima
27.03.2017
06:58:42
Тоже не могу согласиться

Evgeniy
27.03.2017
06:58:45
Просто в классическом приложении может джаваскриптового document.isReady может и хватило бы, но не в изоморфных фреймворках где вебкомпоненты имеют разный , независимый по времени рендер

Dima
27.03.2017
06:59:15
Но холиварить день

Evgeniy
27.03.2017
06:59:48
Не, ну вы как-нибудь накиньте, а то мне кроме ухмыльнуться ниче не останется

Dima
27.03.2017
07:00:13
Не всегда скорость рендеринга такая разная
И я представляю, как потом много переделать придется

Evgeniy
27.03.2017
07:02:37
Никогда не было проблем с этим бтв :) сайты на Angular 2, React и Catberry JS

Shoo
27.03.2017
07:02:41
Во первых, жесткий вейт на "самый медленный элемент" просто не выглядит адекватным решением.
Потому что взависимости от нескольких переменных, в т.ч. окружения, этот элемент может менять, таймаут необходимый для его загрузки может менять и т.д. и т.п.
Мне, в целом, не очень понятна необходимость waitForPageLoad, если все элементы\формы с которыми взаимодействует тест уже загрузились?

Dima
27.03.2017
07:03:00
А если твой тест нужно будет править лишь из-за минорной обновы V8 это беда. Так и реально баги упустить можно

Evgeniy
27.03.2017
07:03:54
Во первых, жесткий вейт на "самый медленный элемент" просто не выглядит адекватным решением.
Потому что взависимости от нескольких переменных, в т.ч. окружения, этот элемент может менять, таймаут необходимый для его загрузки может менять и т.д. и т.п.
Мне, в целом, не очень понятна необходимость waitForPageLoad, если все элементы\формы с которыми взаимодействует тест уже загрузились?
Я, кажется написал, что можно брать не-по-последнему элементу? А по тому, для которого сценарий работает? Перечитайте

Shoo
27.03.2017
07:05:19
Если по тому, по которому сценарий работает, то displayed отлично хватает.

Google

Dima
27.03.2017
07:05:22

Andrey
27.03.2017
07:07:11
вообще есть промисы
которые убирают эти ожидания

Evgeniy
27.03.2017
07:07:41
IsDisplayed не содержит ожиданий и ретраев. Ты работаешь с Реактом, он рут меняет, но в режиме SPA компоненты инициализировались, но не твой компонент ещё не получил состояние, isDisplayed тут не поможет

Dima
27.03.2017
07:08:21

Evgeniy
27.03.2017
07:08:54
Он упадёт, для этого для белых людей придуман webdriver wait, тайм-ауты и ретраи по 100 раз в секунду :)
Один раз написать get_element базовый метод в BasePageObject класс с неявным таким ожиданием и при инициализации Пейдж объекта найти один элемент ,который до твоего кейса является критерием успешной загруженности страницы. As easy as it gets

Dima
27.03.2017
07:12:44
Выглядит все так себе.
Когда компонент примаунтился он уже обладает всеми данными

Andrey
27.03.2017
07:21:04
вы тестируете поведение или реакт?)

Evgeniy
27.03.2017
07:21:14
Это все еще не объясняет, вы ищите маунт элемент в эту секунду времени и валите тест, или делаете логику неявного ожидания
вот я тоже не могу понять, зачем мне знать потроха реакта