
Evgeniy
26.04.2017
20:22:43
и прошлой весной был мажорный релиз

Nikita
26.04.2017
20:22:55
у меня параллелизация через xdist :)

Aleksandr
26.04.2017
20:23:17

Evgeniy
26.04.2017
20:23:21
в поточках гоняешь?

Google

Nikita
26.04.2017
20:23:22
и фикстуры, да

Roman
26.04.2017
20:23:25
ok

Oleg
26.04.2017
20:23:45
Ну xdist, значит питон, а он не компилируется, значит проблем с параллелизацией нет, поэтому тебе и не нужно

Nikita
26.04.2017
20:23:52
в поточках гоняешь?
да, в потоках, причем у меня еще дикт с юзерами замаплен на номера потоков, чтобы не пересекались

Oleg
26.04.2017
20:24:15
Xdist создаёт изоляцию для каждого воркера

Evgeniy
26.04.2017
20:24:33
мог бы сделать в общей фикстуре не дикт, а генератор
а так у тебя получается поменяется кол-во потоков и придется дописывать :)
а так автодополняемый список, который делает yield

Nikita
26.04.2017
20:25:04
наверное мог бы :) но я херовый разработчик, и на генератор меня не хватило

Evgeniy
26.04.2017
20:25:07
получает next() на коллекцию

Nikita
26.04.2017
20:25:10
наверное надо переписать)

Oleg
26.04.2017
20:25:46
Ну просто фикстуру с параметрами браузеров с yield и енумом на браузеры в драйвер фактори
Хотя если питон 2, то там енумов нет

Google

Oleg
26.04.2017
20:26:22
Ну тогда по старинке с дикшинари

Pavel
26.04.2017
20:27:51
Мне вот казалось что селениумом проверяется логика работы, а верстка должна тестироваться отдельно или нет?
Коллеги, а как вы пишите тесты, если в зависимоти от браузера разная верстка?
Если да, то кстати чем?

Evgeniy
26.04.2017
20:28:25

Oleg
26.04.2017
20:28:38
Ну локаторы же меняются при измененной версткп

Evgeniy
26.04.2017
20:29:00
my_iter = iter(iterable)
next(my_iter)
всё

Oleg
26.04.2017
20:29:26
Зачем? Yield приятнее :)

Evgeniy
26.04.2017
20:29:58
шта

Oleg
26.04.2017
20:30:02
Если да, то кстати чем?
А верстку тестить лучше визуальным тестированием. Но это отдельные либы и отдельное тестирование

Evgeniy
26.04.2017
20:30:51
yield - внутренний инструмент того, как работают генераторы, я не понял зачем вместо того чтобы использовать high order функцию я буду придумывать что-то свое для стандартного iter типа

Nikita
26.04.2017
20:31:15
yield очень простая штука

Evgeniy
26.04.2017
20:31:24
тупо передал список в итератор - получил итератор
вызвал итератор на некст - профит

Oleg
26.04.2017
20:31:32
Yield по сути и есть итератор, просто сахарный
А твой код выглядит не так сладко :))
Кстати а кто кодил на более чем 3 языках автотесты?

Nikita
26.04.2017
20:33:55
баш считается? ;)

Evgeniy
26.04.2017
20:33:58
что значит сладко или не сладко, лол, я не собераюсь делать кооперативную многозадачность

Google

Evgeniy
26.04.2017
20:34:11
зачем оверинжинирить, когда нужно вернуть следующий элемент из списка))
KISS

Oleg
26.04.2017
20:34:33

Nikita
26.04.2017
20:34:47
если ты хочешь только итерить итератором

Evgeniy
26.04.2017
20:35:04
а зачем мне возвращаться в начало списка? :)

Oleg
26.04.2017
20:35:41
баш считается? ;)
Автотесты на баше? Это выше моего воображения. Хотя я был на вебинаре автотесты на clojure, поэтому у меня хорошее воображение :)

Nikita
26.04.2017
20:35:59

Oleg
26.04.2017
20:36:00
И пытался прогать на скале автотесты, зарыдал и спрятался

Nikita
26.04.2017
20:36:03
но было давненько
десктопный апп для макоси времен 10.7 - 10.8

Oleg
26.04.2017
20:37:42
Я для десктопов только с помощью White и autoit прогал :( сикули с башом точно нет в наличии

Nikita
26.04.2017
20:37:48

Oleg
26.04.2017
20:38:26
Как зачем возвращаться назад? Чтобы был порядок, откуда ушёл, туда пришёл :)

Nikita
26.04.2017
20:38:33
на макось не было автоита, было чуть менее чем ничего =)
вопрос был в том, что ты условно вернул юзеров столько, сколько у тебя потоков
бежит 4 теста параллельно
какой-то тест бежит быстрее, какой-то медленнее) как через итератор сделать так, что твоя функция не отдала юзера, с которым уже тест бежит, и не поломала состояние

Oleg
26.04.2017
20:40:23
Итератором запускать тесты просто, как вариант
Но тогда хз паралеллизация как внутри теста, скорее не будет

Google

Nikita
26.04.2017
20:40:39
я долго думал, и решил втупую замапить дикт с пользователями на кол-во потоков
потому что пока поток держит пользователя, его никто другой точно не возьмет

Oleg
26.04.2017
20:41:20
А почему не просто фикстуру параметрищованную с yield?
И её передавать как параметр в тесты?

Nikita
26.04.2017
20:41:59
потому что мне не очень нравится mark.parametrise
если ты его имеешь в виду

Oleg
26.04.2017
20:42:37
Не, я имею в виду параметры самой фикстуры
Это в pytest только есть
Если ты nose юзапшь или unittests

Admin
ERROR: S client not available

Oleg
26.04.2017
20:43:00
Такого нет

Nikita
26.04.2017
20:43:05
нет, я юзаю pytest
если я правильно понял твой вопрос – почему не передавать юзера параметром в фикстуру?

Oleg
26.04.2017
20:43:42
Да, а фикстуры уже травить тестам которые нужно
Типа мультиюзер фикстура

Nikita
26.04.2017
20:43:58
ну у меня в принципе так и сделано – в тест передается фикстура с логином
но она принимает в себя не результат yield'а
а велосипед)

Oleg
26.04.2017
20:45:04
Дикшинари где ключ что?

Nikita
26.04.2017
20:45:19
где ключ номер потока)

Google

Nikita
26.04.2017
20:45:41
то есть фикстура детектит какой сейчас у потока номер

Oleg
26.04.2017
20:45:46
Хмм, а может достаточно имени теста?

Nikita
26.04.2017
20:45:47
и из дикта забирает [n]

Oleg
26.04.2017
20:46:15
Хотя чем плох номер потока, вполне норм, если это ацдишка потока конечно

Nikita
26.04.2017
20:46:16
по идее было бы достаточно, потому что имя теста будет уникально

Oleg
26.04.2017
20:46:40
Скорее пара имя теста - логин будет уникальна

Nikita
26.04.2017
20:46:55
это slaveid

Oleg
26.04.2017
20:46:55
Ты же не будешь дважды запускать для одного теста дважды юзера
А если будешь, то это скорее всего будет браузер

Nikita
26.04.2017
20:47:10

Oleg
26.04.2017
20:47:30
Тогда будет ключ тест а значение пара браузер логин :)))

Nikita
26.04.2017
20:47:42
:D :D :D

Oleg
26.04.2017
20:47:47
В общем, да, немного ракота

Nikita
26.04.2017
20:48:00
можно было по-другому
сделать sqlite базу юзеров
и отмечать юзера, который занят

Oleg
26.04.2017
20:48:23
Это оверкилл)))

Nikita
26.04.2017
20:48:28
но там пляски с локами и с гонками
и я решил что ну его нахер, хотя задача интересная

Evgeniy
26.04.2017
20:48:53
ребята, все просто, у вас есть сценарии, их 30 штук например
и есть 3 браузера
делаете перемжножение, получаете пул тестов из 90 кейсов