@qa_ru

Страница 860 из 1080
Alexei
02.02.2018
11:35:04
Как я запомнил из одного из очень старого видео @barancev клик идёт в середину элемента. Подробнее сам Алексей надеюсь расскажет или поправит меня
Определяется элемент получающий клик, вокруг него высчитывается прямоугольник, клик идёт в середину этого прямоугольника

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
Есть совет по поводу локализации правильной этой фигни? Храth чую не подойдет
пробовали пользоваться плагином для файрфокса FirePath ? он достаточно неплохо находит уникальные пути

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. Возможно стоит попросить фронтедеров, чтоб уни указали какой то магический параметр, при сборки тестового билда, который выключает обфускацию

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
в таблице зарплата может быть несколько записей по одному и тому же сотруднику

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
ну первое мы проверяем что в резульатт попали все сотрудники у которых больше 1000р
как вы проверите это, если вы например и делаете запрос where salary > 1000

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

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

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

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