
Alexander
02.02.2018
11:08:04

Андрей
02.02.2018
11:34:53

Alexei
02.02.2018
11:35:04

Dmitriy
02.02.2018
11:35:43
Искал я многопользовательскую опенсорсную систему для работы с поиском и табличками и уперся в Alfresco. Кому нибудь известны аналоги?

Google

Мария
02.02.2018
12:34:12
А тут есть люди, занимающиеся mos.ru?
Хочу багу в регистрации показать

Alexei
02.02.2018
12:37:56
вообще-то "куда кликает" и "как кликает" это два совершенно разных вопроса. куда? в центр, да. как? а вы точно хотите это знать? :)

Shoo
02.02.2018
12:42:33

Alexei
02.02.2018
12:44:49
в w3c тоже написано, "куда" надо кликать. это же спецификация
разные драйверы по разному кликают

Shoo
02.02.2018
12:45:33
Не, я всё понимаю. Мне просто интересно, правильно ли описан алгоритм "как" в w3c, или в селениуме всё сложнее и хитрее и опираться на w3c в это плане - бессмысленно?

Alexei
02.02.2018
12:46:38
в w3c не написано "как". там описано 1) куда, 2) что должно быть сделано перед тем, как кликнуть, 3) какие внешние эффекты должны наблюдаться после клика
это спецификация, она не накладывает ограничения на то, как технически клик должен выполняться

Shoo
02.02.2018
12:52:51
Справедливо. Окей. В любом случае было бы интересно почитать и сравнить со своим представлением, как это работает. :)

Alexei
02.02.2018
12:54:18
ну... чтобы сразу как обухом по голове — можно почитать реализацию для IE :)
в целом всё вот тут: https://github.com/SeleniumHQ/selenium/tree/master/cpp/iedriver
ключевые файлы, где про клик читать:
CommandHandlers/ClickElementCommandHandler.cpp
InputManager.cpp
InteractionsManager.cpp
первый это собственно реализация команды, он либо выполняет код на JS, либо делегирует на уровень ниже, в InputManager, тот формирует цепочку действий, а InteractionsManager исполняет её
так что в зависимости от режимов работы драйвера, это может быть либо код на JS, выполненный в браузере, либо события на уровне операционной системы, причём они могут отправляться двумя разными способами — либо через SendMessage, либо через PostMessage, либо через какое-то адское сочетание обоих функций

Google

Shoo
02.02.2018
13:07:28
О, спасибо. Почитаю )


Idi
02.02.2018
14:01:18
Друзья, возможно тупой вопрос но я не соображаю чет уже
Использую galen framework для тестирования верстки
Проблемы с локализацией элементов
Одна страница на реакте, вторая хз на чем
Если на второй странице все ясно и понятно:
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right nav-login">
<li>
<a class="menu-link login-link" href="/account/signin">Log in</a>
</li>
<li class="btn-join-us">
<a class="btn btn-primary transition" href="/account/signup">Join Us</a>
</li>
<li>
<a class="btn btn-purple" href="/token">The POP Token</a>
</li>
<li>
<a class="btn btn-border transition" ">Learn More</a>
</li>
</ul>
</div>
То на первой все эти элементы - не списком, а просто вложенным div ом + динамически сгенеренные имена классов
<div class="sc-lhVmIH bhpCsD" xpath="1">
<div class="sc-elJkPf hoIvDX">
<div class="sc-bdVaJa ivcQdZ">
<img src="/images/icons/logo.svg">
</div>
</div>
<div class="sc-jtRfpW jnukoV">
<a class="sc-ktHwxA kwptlP" href="/new/learn">
<div class="sc-cIShpX cNgPrs" style="">
<!-- react-text: 11 -->Learn<!-- /react-text -->
</div>
</a>
<a class="sc-ktHwxA brnWkp" href="/new/token">
<div class="sc-cIShpX cNgPrs" style="">
<!-- react-text: 14 -->Token<!-- /react-text -->
</div>
</a>
<a class="sc-ktHwxA brnWkp" href="/new/about">
<div class="sc-cIShpX cNgPrs" style="">
<!-- react-text: 17 -->Team<!-- /react-text -->
</div>
</a>
<a class="sc-feJyhm gMgMsT" href="/account/signin">
<div class="sc-iELTvK jYPXQu" style="">
<!-- react-text: 20 -->Log In<!-- /react-text -->
</div>
</a>
<a class="sc-jwKygS kDXoQn" href="/account/signup">
<div class="sc-btzYZH HKmnE">
<!-- react-text: 23 -->Join<!-- /react-text -->
</div>
</a>
</div>
</div>
Есть совет по поводу локализации правильной этой фигни? Храth чую не подойдет


Dmitry
02.02.2018
16:28:40

SaneQ
02.02.2018
16:31:07

Idi
02.02.2018
16:31:20
Вот и я об этом

Dmitry
02.02.2018
16:31:30
вот она.. лень читать

SaneQ
02.02.2018
16:32:24
завязывайте локаторы на отображаемый текст

Dmitry
02.02.2018
16:32:33
по названиям кнопок не катит?

Idi
02.02.2018
16:35:41
Как вариант. Только надо ж смотреть размеры элементов - повторюсь, тестирую верстку, если текст в кнопке (у нее ж площадь больше) - тогда не прокатит

Dmitry
02.02.2018
16:36:23
кликает же по элементу содержащему текст
или вам надо прокликать кнопку в каждой точке?

Idi
02.02.2018
16:37:47
Нет взаимодействий с элементами вообще, смысл в том, чтобы знать, что кнопка такого-то размера в таком-то месте есть

Dmitry
02.02.2018
16:38:55
нужно получить атрибуты найденного элемента?

Google

Idi
02.02.2018
16:41:34
Фреймворк сравнивает заданные свойства элемента с тем, что есть на странице, попадает пиксель в пиксель, грубо говоря - тест пройден

wiz
02.02.2018
16:46:32
@Bitch_dont_cry насколько я понял эти css стили рандомные получается после сборки js. Возможно стоит попросить фронтедеров, чтоб уни указали какой то магический параметр, при сборки тестового билда, который выключает обфускацию

Idi
02.02.2018
16:47:40

Maria
02.02.2018
22:59:10
у кого-нибудь падал geckodriver 19 при запуске из jenkins в режиме headless с ошибкой WebDriverException: Message: Failed to decode response from marionette?

Boris
03.02.2018
13:28:52
Всем привет, может кто нибудь подсказать, какие могут быть тесткейсы на sql запрос?

Арсений
03.02.2018
13:56:25
Зачем тестировать sql запрос? Какие задачи продукта решает этот запрос?

Misha
03.02.2018
14:04:33
Наверное человек неверно выразился

Boris
03.02.2018
14:04:41
да
ща более внятно скажу))

Misha
03.02.2018
14:05:03
Например, что при определенном запросе возвращается то что expected
Смысла конечно в этом не очень много, но в качестве тестирования БД
Что после очередных непоправимых улучшений ничего не сломалось

Misha
03.02.2018
14:06:11
То пойдет ?
Пример такого кейса - на локальной базе создается определенная запись, например данные пользователя
С фамилией Иванов
И запрос который говорит вернуть все сущности где фамилия == Иванов
Возвращает именно его
А не возвращает Петечкина
Потому что внесли изменения в структуру

Admin
ERROR: S client not available

Google

Misha
03.02.2018
14:09:36
Но опять же, это скорее тестирование СУБД чем вашего продукта

Boris
03.02.2018
14:10:34
Допустим есть 2 таблицы Работники и Зарплата, в таблице работники колонки айди и имя, в таблице зарплата айди сумма дата
запросом нужно получить тех работников которые получили в этом месяце больше 1000р

MnmlSniper
03.02.2018
14:12:00
Коллеги, а у кого-нибудь есть опыт реализации multi-touch на связке appium+JS?

Boris
03.02.2018
14:12:17
в таблице зарплата может быть несколько записей по одному и тому же сотруднику

Misha
03.02.2018
14:12:33

Boris
03.02.2018
14:12:49
Какие тест кейсы можно написать к этому запросу

Misha
03.02.2018
14:13:19
запросом нужно получить тех работников которые получили в этом месяце больше 1000р
Ваши слова и есть тест кейс

Boris
03.02.2018
14:13:37
да

Misha
03.02.2018
14:13:39
По сути

Boris
03.02.2018
14:14:03
но елси запрос мы пишем сами

Misha
03.02.2018
14:14:07
Ну в пре-кондишенах пишите запрос

Boris
03.02.2018
14:14:12
нам надо проверить как он работает при разных данных

Evgeniy
03.02.2018
14:14:26
еще есть условие, что один и тот же сотрудник может иметь две записи, проверяется попыткой вставки в таблицу зарплат 1+ записей

Misha
03.02.2018
14:14:27
Экспектед резалт - заранее готовая тест дата

Evgeniy
03.02.2018
14:14:36
упадет\не упадет на констрейнте

Boris
03.02.2018
14:15:18
ну первое мы проверяем что в резульатт попали все сотрудники у которых больше 1000р
потом что не попали те у кого меньше 1000р
потом что попали те у кого записей было несколько

Google

Boris
03.02.2018
14:15:47
и что в общем они либо больше 1000р
либо меньше
проверяем что не попали записи из прошлого-следующего месяца

Evgeniy
03.02.2018
14:16:35

Boris
03.02.2018
14:16:50
ну я же вижу тестовые данные

Evgeniy
03.02.2018
14:17:32
это декларативный язык. что ты потребовал - то и будет

Boris
03.02.2018
14:17:59
но как тогда понять что ты допустил в запросе ошибку?