Содержание
где и как лучше покупать запчасти и расходники для автомобиля
Эдуард Солодин
записывал советы
Профиль автора
Рынок комплектующих для машин изменился за последний год.
Мы спросили, где теперь лучше покупать запчасти и расходники для автомобиля, у читателей Тинькофф Журнала. Они поделились своим опытом и дали ценные советы всем автовладельцам.
Это комментарии читателей из Сообщества. Собраны в один материал, бережно отредактированы и оформлены по стандартам редакции
Совет № 1
Ищите запчасти на агрегаторах
ПОЖИЛАЯ РАКЕТА
пользуется разными сервисами
Смотрю запчасти всегда по схемам с Exist, но редко что-то беру, потому что Exist весьма дорогой. Узнав артикул, захожу на Zzap и там уже на 30% дешевле нахожу нужную запчасть.
Совет № 2
Выбирайте магазин в зависимости от комплектующих
Антиконсьюмерист
похвалился удачными покупками
Расходники заказываю в интернет-магазине «Адео-про». Резину — на «Яндекс-маркете», там дешевле всего.
Запчасти в первую очередь ищу на «Авито». Часто бывает, что человек продал машину, а какая-то запчасть, купленная ранее, так и не пригодилась — и он выставляет ее на «Авито» в два-три раза дешевле, чем она стоит в магазинах. Так были куплены тормозные колодки Bosch за 500 Р, стартер за 2600 Р, ступичный подшипник за 600 Р. Все новое, в коробочках.
Иногда не брезгую и б/у запчастями, но только такими, которые не подвержены быстрому износу и не влияют на безопасность. Бывает, кто-то разбил машину в ДТП и принял решение самостоятельно дербанить ее. При этом цены, естественно, ставят ниже, чем на разборках. Несколько раз ездил к таким чувакам, купил оригинальное крыло в прекрасном состоянии, раздельный задний диван, моторчик стеклоочистителей, подушку коробки, задний фонарь, пару молдингов на двери, маховик без износа и даже почти новый редукторный стартер — и все это за 20—30% от цены этих же деталей в интернет-магазинах.
/guide/how-to-buy-new-autoparts/
Как покупать новые запчасти и расходные материалы для машины
Совет № 3
Не жалейте денег на оригинал
Николя
проверил фильтр по наклейке
Раньше не заморачивался и покупал масло в гипермаркете. Сейчас стал более разборчивым. На VAG есть специальная наклейка, по которой можно проверить, оригинал это или нет.
Заказал недавно в Exist салонный фильтр. Пришел без этой наклейки и даже не в пластиковом пакете. На выдаче мне сказали, что у них новая упаковка, товары идут хрен знает какими путями, так что никакой наклейки теперь не будет. А как мне проверить товар, на слово им, что ли, поверить?
Я отказался от заказа и нашел оригинал в обычном местном офлайн-автомагазине. Вышло дороже, зато с наклейкой, точно знаю, что оригинал.
Справедливости ради, судя по упаковке, это старая партия 2019 года. Возможно, сейчас упаковку действительно изменили. Но откуда мне об этом знать?
Второй раз уже покупаю в этом автомагазине и остаюсь доволен. Наверное, стану закупаться в будущем сразу там и не терять время.
Совет № 4
Покупайте аналоги хороших фирм
Humble
не покупает оригинал
Покупаю запчасти в основном на Autodoc. Схемы смотрю на Elcats. По ценам, мне кажется, Autodoc на 5—10% дешевле, чем Exist, и доставка в мой регион быстрее.
Оригинальные запчасти не покупаю практически никогда, так как цены ушли в космос. Какой-нибудь патрубок стоит 15 000—20 000 Р. Стараюсь брать заменители хороших фирм.
Совет № 5
Ищите запчасти в других регионах
cat owner
сгоняла в Тольятти
Обслуживаю машинку Датсун Он До, которая, по сути, почти Лада Гранта, в небольшом частном гаражном сервисе. Доверяю им, поэтому почти всегда запчасти покупают они. Где — не задаюсь вопросом. Расходники перед плановым ТО покупаю на «Озоне» или «Вайлдберриз» — где выгоднее окажется.
За электроусилителем прошлым летом пришлось аж в Тольятти сгонять — даже с учетом дороги вышло намного дешевле, чем покупать в Москве или заказывать в Москву. Правда, я билеты на самолет до Самары почти полностью оплатила аэрофлотовскими милями и живу совсем рядом с Шереметьевом. Если бы не это, конечно, не стала бы так морочиться.
Совет № 6
Покупайте товары в проверенных магазинах
Илья
нарвался на подделку
Покупаю много лет все на Exist. На все расходники уже есть каталожные номера, просто повторяю заказ из истории. Кажется, будто там меньше подделок или хотя бы проверяют.
В последнее время приходится дольше ждать заказы, чем раньше. Бывает, менеджер звонит и снимает позицию, хотя я за нее уже заплатил. Это бесит. Приходится брать дороже что есть в наличии или переносить техобслуживание, а это перепробег. Поэтому о запчастях и расходниках лучше думать заранее, заказать и ждать, так выходит дешевле.
На Emex однажды нарвался на поддельное масло. Посмотрел случайно видео на «Ютубе», как отличить подделку от оригинала. Осталась канистра, и на ней были все признаки подделки. Больше туда ни ногой. После этого сразу пришлось заменить масло, мало ли что.
/guide/motor-oil/
Моторное масло: из чего состоит и как его правильно выбирать
Рынкам и всяким «Вайлдберриз» тоже не доверяю. На рынке ищут запчасти на том же Exist, зачем мне посредники? На «Вайлдберриз» много подделок, судя по цене и отзывам.
В гипермаркете можно купить только какую-нибудь елочку на зеркало. Покупал раньше в «Ашане» автохимию, но там какие-то дешевые бренды, которые не помогают. Даже автошампунь не пенится. Сейчас не знаю, где все это покупать, просто езжу на мойку, там вся химия уже есть.
Совет № 7
Если есть возможность, берите комплектующие за границей
Кирилл Золотов
прокатился по Евросоюзу
Покупал запчасти в Эстонии в 2022 году. Потом ездил в Таллин и забирал. Заодно навестили сестру жены и прокатились по Евросоюзу.
Брал себе и на продажу, чтобы отбить поездку. Например, себе — ремень ГРМ, помпу и то же — на продажу. Себе — фильтры на ТО и столько же — на продажу. Многие расходники брал на перспективу. До сих пор все не использовал.
Совет № 8
Ищите запчасти на авторазборках
Дмитрий Витальевич
доволен как удав
Расходники всегда покупаю только новые оригинальные. У официалов дорого, смотрю у мелких поставщиков или на маркетплейсах. Что касается запчастей, то частенько использую б/у — это сильно дешевле, и не нужно ждать по три месяца. Использую Ferio для поиска.
Как пример: попал в ДТП, нужно было найти фару, капот, решетку радиатора и бампер на Джип Гранд Чероки 2020 года. Официалы посчитали: фара — 220 000 Р, капот — 100 000 Р, бампер — 100 000 Р, решетка — 30 000 Р. Из наличия — только фара, остальное ждать от трех месяцев до полугода. На разборке нашел морду за 250 000 Р. Доволен как удав 🙂
/guide/how-to-buy-used-autoparts/
Как покупать б/у запчасти для машины
Совет № 9
Используйте все возможные варианты
Дмитрий Малахов
выгодно перепродал замок капота
Как устроен бизнес продажи запчастей и расходников: есть поставщики, у них масса мелких реселлеров. Цены сильно колеблются. Потому смотрю Zzap — по моему мнению, лучший агрегатор запчастей. Параллельно смотрю «Авито». Иногда там продают новое.
Если нужен б/у замок капота на Вольво, то Farpost и «Авито». Часто на Вольво запчасти с разборов очень дешево продают в Сибири. Купил комплект замка капота — правый и левый. На «Авито» левый продал за цену покупки комплекта. Особенности «Авито» в том, что объявления размещать там дорого, потому часто Farpost лучше.
Еще три вещи покупал на «Алиэкспрессе»:
- Мощные светодиодные лампочки в багажник — со штатными в темноте не видно ничего.
- Датчик положения кузова для фар. Разница в цене — на порядок.
- Скрытый видеорегистратор под «бороду» зеркала — просто аналогов у нас не нашел.
Машины читателей.Читатели рассказывают о своих автомобилях и подсчитывают расходы на обслуживание
Рассказать свою историю
Арендаторы идут в бизнес-центры с парковками
Девелоперы при строительстве офисных центров уделяют большое внимание организации парковки. Как считают опрошенные АБН эксперты, наличие паркинга рядом с коммерческим объектом или внутри него значительно влияет не только на посещаемость объекта, но и на ставку аренды.
Фото: Pixabay
По данным «Авито Недвижимости» на февраль 2023 года, парковки есть у 93% коммерческих объектов по всей России. Подавляющее большинство из них (92%) находится на улице, и только 8% – в здании. Ситуация несколько иная только в Москве, где парковка внутри зданий встречается в два раза чаще.
Эксперты рынка коммерческой недвижимости называют наличие парковки одним из способов привлечь новых арендаторов. В частности, ее обустройство позволяет серьезно увеличить привлекательность бизнес-центра, а дополнительные траты для девелоперов уже спустя несколько лет выглядят хорошей инвестиций.
Окупаемость инвестиций в паркинги возле объекта коммерческой недвижимости могут составлять от полугода до нескольких лет. Многое зависит здесь как от расположения объекта, так и от самого паркинга — открытый он или многоуровневый. При этом девелоперу еще на уровне проектирования будущего объекта предстоит ответить на важный для себя вопрос – как найти оптимальный баланс между инвестициями в инфраструктуру проекта и желаемой доходностью.
«Наличие парковки рядом с коммерческим объектом или внутри него очень значительно влияет на посещаемость объекта. В первую очередь это удобно, а значит трафик посетителей выше. Множество факторов влияют на ставку аренды, на посещаемость, но при прочих равных, в 99 случаях из 100, рентабельность коммерческих объектов с парковкой выше, чем у аналогичных объектов без нее. Кроме того, если парковка неземная, то её часть можно сдавать под фудтраки и временные точки торговли, что формирует дополнительный арендный поток для собственника», — объясняет АБН вице-президент Becar Asset Management Катерина Соболева.
Гендиректор некоммерческого партнерства «Объединение строителей Санкт-Петербурга» Алексей Белоусов соглашается с мнением о том, что наличие парковки является конкурентным преимуществом при продаже или сдаче в аренду коммерческого помещения.
«Без сомнения, каждый арендатор или покупатель при работе с бизнес-центрами смотрит на наличие парковки. Ее наличие, конечно, сказывается на прибыльности коммерческой недвижимости и бизнесов, которые расположены в ней», — отметил собеседник АБН.
Специалисты платформы «Авито Недвижимость» проанализировали ситуацию в российских городах с парковками возле ТЦ, офисов, бизнес-центров, складов и других коммерческих помещений. Как говорится в исследовании, обычно стоянки в городах-миллионниках расположены на улице.
Лидером по количеству парковок при офисных зданиях стала Москва. В столице они занимают больше половины от всего количества парковочных мест. Две трети из них находятся на улице, а треть – в здании. В тройке также оказались Екатеринбург и Нижний Новгород.
Городом с наименьшим числом коммерческой недвижимости с машиноместами в здании стал Красноярск. Немногим лучше инфраструктура для водителей-посетителей коммерческой недвижимости развита в Волгограде, Уфе и Самаре.
Специалисты «Авито Недвижимости» называют наличие парковочного места «полноценным конкурентным преимуществом при продаже или сдаче в аренду коммерческого помещения».
«Особенно парковки важны в крупных городах, которые плотно заселены. На одну машину в среднем требуется до 10 кв. м., чтобы комфортно маневрировать в ограниченном пространстве. Поэтому строительство парковок, особенно подземных и многоуровневых, важно для эффективного использования городского пространства. Отсутствие достаточного количества машиномест часто приводит к занятию мест в неположенном месте: на газонах, в жилых дворах и на парковках соседних организаций», – отмечает руководитель категории коммерческой недвижимости на Авито Олег Изотов.
В свою очередь член Российской гильдии риэлторов, эксперт рынка недвижимости Константин Барсуков считает, что для арендаторов важнее не столько наличие парковки, сколько расположение объекта. По его словам, ценность парковки зависит от местоположения бизнес-центра.
Например, в центре городе обычно парковочных мест мало, а транспортное движение активное. В этом случае, как считает собеседник АБН, парковка далеко не обязательный элемент объекта. Но при этом она все равно остается востребованной.
«Если бизнес-центр на отшибе, то без парковки никуда. Очень важно и направление бизнеса. Продуктовый магазин у дома легко обойдется без парковки, но гипермаркет вдали от транспортных путей уже не выживет без парковки», — объясняет эксперт.
Эксперты сходятся во мнении, что при прочих равных паркинг окупится в любом случае. Именно поэтому дальновидные девелоперы при выводе новых объектов на рынок почти всегда предусматривают паркинг.
Распределенный, масштабируемый агрегатор метрик / Блог компании Авито / Хабр
Итак, вы собираете метрики. Как и мы. Мы также собираем метрики. Конечно, необходимые для бизнеса. Сегодня мы поговорим о самом первом звене в нашей системе мониторинга — statsd-совместимом сервере агрегации bioyino, зачем мы его написали и почему отказались от brubeck.
Из наших предыдущих статей (1, 2) мы можем узнать, что до некоторого времени мы собирали теги с помощью brubeck. Он написан на C. С точки зрения кода он прост как пробка (это важно, когда вы хотите его протащить) и, самое главное, он справляется с нашими объемами в 2 миллиона метрик в секунду (MPS) на пике без проблем. В документации заявлена поддержка 4 млн MPS со звездочкой. Это означает, что заявленный номер вы получите, если правильно настроите сеть в Linux. (Сколько MPS можно получить, если оставить сеть как есть, мы не знаем). Несмотря на эти преимущества, у нас было несколько серьезных претензий к brubeck.
Претензия 1. Github — разработчик проекта — прекратил его поддержку: публиковать патчи и фиксы, принимать наши и (не только наши) пиариться. В последние несколько месяцев (где-то с февраля-марта 2018 года) активность возобновилась, но до этого было почти 2 года полного затишья. Кроме того, проект разрабатывается для внутренних нужд Gihub, что может стать серьезным препятствием для реализации новых возможностей.
П.2. Точность расчетов . Brubeck собирает в общей сложности 65 536 значений для агрегирования. В нашем случае для некоторых метрик за период агрегации (30 сек) может прийти гораздо больше значений (1,527,392 на пике). В результате такой выборки значения максимумов и минимумов выглядят бесполезными. Например, так:
Как было
Как должно было быть
По той же причине суммы обычно считаются неверными. Добавьте сюда баг с переполнением 32-битного float, который вообще отправляет сервер в segfault, когда выглядит невинной метрикой, и становится вообще отлично. Баг, кстати, не исправлен.
Наконец, забирают X . На момент написания мы готовы представить его всем 14-ти более-менее рабочим реализациям statsd, которые нам удалось найти. Давайте представим, что какая-то отдельная инфраструктура разрослась настолько, что принимать 4 миллиона MPS уже недостаточно. А может еще не вырос, но метрики уже настолько важны для вас, что даже короткие, 2-3 минутные провалы на графиках уже могут стать критическими и вызвать у менеджеров приступы непреодолимой депрессии. Поскольку лечить депрессию — дело неблагодарное, нужны технические решения.
Во-первых, отказоустойчивость, чтобы внезапная проблема на сервере не устраивала психиатрический зомби-апокалипсис в офисе. Во-вторых, масштабирование, чтобы иметь возможность получать более 4 млн MPS, при этом не копаться глубже в сетевом стеке Linux и спокойно расти «вширь» до нужных размеров.
Так как у нас был резерв на масштабирование, мы решили начать с отказоустойчивости. «О! Отказоустойчивость! Все просто, мы справимся», — подумали мы и запустили 2 сервера, подняв на каждом копию brubeck. Для этого пришлось скопировать трафик с метриками на оба сервера и даже написать небольшую утилиту для этого.Проблему отказоустойчивости с этим мы решили,но…не очень.Сначала все вроде бы было здорово:каждый брубек собирает свой вариант агрегации,пишет данные в Graphite каждые 30 секунд,затирая старый интервал( это делается на стороне Graphite).При отказе одного сервера у нас всегда есть второй с собственной копией агрегированных данных.Но вот проблема: при отказе сервера на графиках появляется «пила».Это из-за того что 30 секундные интервалы для брубека не синхронизируются,и в момент падения один из них не перезаписывается.То же самое происходит при старте второго сервера.Вполне терпимо,но хочется лучше!Масштабируемость проблема осталась.Все метрики по-прежнему «летят» на один сервер, и поэтому мы ограничены теми же 2-4 миллионами MPS в зависимости от прокачки сети.
Если немного подумать над проблемой и заодно копать снег лопатой, то может прийти к такой очевидной мысли: нужен statsd, который может работать в распределенном режиме. То есть такой, в котором реализована синхронизация между узлами по времени и метрикам. «Конечно, такое решение наверняка уже есть», — сказали мы и пошли гуглить…. И ничего не нашли. Прошерстив документацию по разным статсдам (https://github.com/etsy/statsd/wiki#server-implementations на момент 11 декабря 2017), мы вообще ничего не нашли. Судя по всему, ни разработчики, ни пользователи этих решений еще не сталкивались с таким количеством метрик, иначе бы обязательно что-нибудь придумали.
И тут мы вспомнили про «игрушечный» статсд — биойино, который писали на хакатоне just for fun (название проекта сгенерировало скрипт еще до начала хакатона) и поняли, что нам срочно нужен собственный статсд. Зачем?
- потому что в мире слишком мало клонов statsd,
- потому что можно обеспечить желаемую или близкую к желаемой отказоустойчивость и масштабируемость (включая синхронизацию агрегированных метрик между серверами и решение проблемы конфликтов при отправке) ,
- потому что метрики можно считать более точными, чем у brubeck,
- потому что вы сами можете собрать более подробную статистику, которую brubeck нам практически не предоставил,
- потому что появилась возможность запрограммировать свой высокопроизводительный дистрибутив лаб , который не будет полностью повторять архитектуру другого такого же хай-тека. .. ну понятно.
На чем писать? Разумеется, на Русте. Почему?
- потому что уже был прототип решения,
- потому что автор статьи на тот момент уже знал Rust и загорелся желанием написать что-то на нем для продакшена с возможностью выложить в опенсорс,
- потому что языки с GC нам не подходят из-за характер принимаемого трафика (почти реалтайм) и GC-паузы практически недопустимы,
- потому что нужна максимальная производительность сравнимая с C
- потому что Rust обеспечивает нам бесстрашный параллелизм, а если бы мы начали писать его на C/C++ , мы бы разгребли еще больше, чем брубеки, уязвимости, переполнения буфера, условия гонки и прочие страшные слова.
Был спор против Rust. У компании не было опыта создания проектов на Rust, и сейчас мы также не планируем использовать его в основном проекте. Поэтому были серьезные опасения, что ничего не получится, но мы решили рискнуть и попробовали.
Прошло время. ..
Наконец, после нескольких неудачных попыток первая рабочая версия была готова. Что случилось? Получилось вот так.
Каждый узел получает свой набор метрик и аккумулирует их у себя, а метрики тех типов, где для окончательной агрегации потребуется их полный набор, он не агрегирует. Узлы связаны между собой неким распределенным протоколом блокировки, позволяющим выбрать среди них единственную (тут мы плакали), достойную отправлять метрики в Великую. На данный момент эта проблема решается средствами Consul, но в дальнейшем амбиции автора распространяются и на его собственную реализацию Raft, где нодой-лидером консенсуса будет, конечно же, очень приличная. Помимо консенсуса, узлы достаточно часто (по умолчанию раз в секунду) отправляют своим соседям те части предагрегированных метрик, которые успели набрать за эту секунду. Получается, что масштабирование и отказоустойчивость сохраняются — каждый из узлов по-прежнему держит полный набор метрик, но метрики отправляются уже агрегированными, по TCP и закодированными в бинарный протокол, поэтому стоимость дублирования по сравнению с UDP значительно уменьшенный. Несмотря на довольно большое количество поступающих метрик, для накопления требуется очень мало памяти и еще меньше процессора. Для наших хорошо сжатых сжатий это всего несколько десятков мегабайт данных. Дополнительным бонусом является отсутствие ненужных перезаписей данных в Graphite,
Пакеты UDP с метриками не сбалансированы между узлами на сетевом оборудовании посредством простого циклического перебора. Разумеется, сетевое оборудование не разбирает содержимое пакетов и поэтому может тянуть гораздо больше 4М пакетов в секунду, не говоря уже о метриках, о которых оно вообще ничего не знает. Учитывая, что метрики не приходят по одной в каждом пакете, мы не ожидаем проблем с производительностью на данном этапе. В случае краха сервера сетевое устройство быстро (в течение 1-2 секунд) обнаруживает этот факт и снимает рухнувший сервер с ротации. В результате этого пассивные (т.е. нелидерные) узлы можно включать и выключать практически не замечая просадок на графиках. Максимум, что мы теряем, это часть метрик, пришедших за последнюю секунду.
Немного о внутреннем устройстве. Приложение, конечно, многопоточное, но архитектура потоков отличается от используемой в brubeck. Потоки в brubeck одинаковые — каждый из них отвечает и за сбор информации, и за агрегацию. В bioyino работники делятся на две группы: ответственные за сеть и ответственные за агрегацию. Такое разделение позволяет более гибко управлять приложением в зависимости от типа метрик: там, где требуется интенсивная агрегация, можно добавить агрегаторы, где много сетевого трафика, добавить количество сетевых потоков. На данный момент на наших серверах мы работаем в 8 сетевых и 4 агрегирующих потоках.
Счетная часть (отвечающая за агрегацию) довольно скучная. Буферы, заполненные сетевыми потоками, распределяются между потоками чтения, где они подвергаются дальнейшему анализу и агрегации. По запросу выдаются метрики для отправки другим узлам. Все это, включая передачу данных между нодами и работу с Consul, выполняется асинхронно, работает на фреймворке tokio.
Гораздо больше проблем при разработке вызвала сетевая часть, отвечающая за получение метрик. Главной задачей разделения сетевых потоков на отдельные сущности было стремление сократить время, которое поток проводит , а не чтение данных из сокета. Варианты с использованием асинхронного UDP и обычного recvmsg быстро исчезли: первый съедает слишком много пользовательского CPU для обработки событий, второй съедает слишком много переключений контекста. Поэтому recvmmsg теперь используется с большими буферами (а буферы, дамы и господа офицеры, это все равно не для вас!). Обычная поддержка UDP оставлена для незагруженных случаев, когда recvmmsg не нужен. В режиме multimessage достигается главное: в подавляющем большинстве случаев сетевой поток разгребает очередь ОС — считывает данные из сокета и передает их в юзерспейс-буфер, лишь изредка переключаясь на отдачу заполненного буфера агрегаторам. Очередь в сокете практически не скапливается, количество отброшенных пакетов практически не растет.
Примечание
В настройках по умолчанию установлен достаточно большой размер буфера. Если вы вдруг решите сами попробовать сервер, то можете столкнуться с тем, что после отправки небольшого количества метрик они не поступят в Graphite, оставаясь в буфере сетевого потока. Для работы с небольшим количеством метрик нужно в конфигах bufsize и task-queue-size выставить меньшие значения.
Наконец, есть несколько карт для любителей карт.
Статистика количества входящих метрик по каждому серверу: более 2 млн MPS.
Отключение одной из нод и перераспределение поступающих метрик.
Статистика по исходящим метрикам: всегда отправляет только одна нода — рейд босс.
Статистика работы каждого узла с учетом ошибок в различных модулях системы.
Детализация входящих метрик (имена метрик скрыты).
Что мы планируем со всем этим делать дальше? Конечно, писать код, бл. ..! Проект изначально планировался как open-source и останется таковым на всю жизнь. В ближайших планах — переход на собственную версию Raft, смена протокола пиров на более портативный, введение дополнительной внутренней статистики, новых типов метрик, исправление ошибок и другие улучшения.
Конечно, каждый может помочь в развитии проекта: создать PR, Issues, по возможности ответим, доработаем и т.д.
На этом, как говорится, все, народ, покупайте наших слонов!
Главная — avito-tech/emcee GitHub Wiki
Emcee позволяет запускать тесты iOS на нескольких машинах. «Ведущий» означает церемониймейстер.
Ведущий запускает общий демон сервера очереди на выделенной машине. Затем Queue запускает рабочих демонов на всех рабочих машинах.
Рабочие используют REST API для общения с очередью. Они извлекают ведра, запускают тесты и отправляют результаты тестов.
Вы используете клиент Emcee для планирования заданий для выполнения тестов, опроса очереди на предмет результатов тестов и удаления заданий при необходимости (например, при отмене сборки). Клиент будет периодически печатать состояние вашего задания и генерировать отчет Junit в конце.
Вам потребуется:
- Компьютеры : Нет смысла запускать тесты на одном локальном компьютере с помощью Emcee, если вы не планируете масштабирование. Emcee использует SSH для развертывания на удаленных машинах. Установите имена хостов для своих машин или используйте IP-адреса локальной сети при настройке Emcee.
- Артефакты сборки : вы можете создавать их, используя
xcodebuild build-for-testing
,buck build
или любым другим способом - Test Arg File : файл JSON, описывающий задание
- Файл конфигурации сервера очереди : файл JSON, описывающий работу очереди и рабочих процессов
- Интегрируйте Emcee с вашей тестовой средой : делать такие вещи, как запись и хранение видео, загрузка результатов теста в вашу систему управления тестированием и так далее и тому подобное.
- Дополнительно — HTTP-сервер для хранения артефактов сборки : Emcee — это распределенная система, нескольким машинам потребуется один и тот же набор артефактов сборки для локального запуска тестов, поэтому должен быть способ хранить их в общем месте. Вам нужно будет загрузить свои артефакты на веб-сервер в виде ZIP-архивов, чтобы работники Emcee могли получать их по требованию. На данный момент поддерживается только протокол HTTP. Пожалуйста, прочитайте о Обработка URL-адресов в Emcee , чтобы понять, как Emcee получает доступ к ZIP-архивам и как пройти аутентификацию, если это необходимо. Начиная с версии 16, Emcee имеет встроенный HTTP-сервер, который удовлетворит большинство ваших потребностей.
.
Чтобы получить список всех команд, выполните:
$ Emcee help
Основная команда, которая вам понадобится, это runTestsOnRemoteQueue
:
$ Emcee runTestsOnRemoteQueue -h
- Queue —
EmceeQueue
процесс, предоставляющий рабочие места рабочим и балансирующий их нагрузку - Рабочий демон , рабочий —
EmceeWorker
процесс, который управляет симуляторами на машине, на которой он работает (локальная машина), и запускает тесты - Test Arg File — файл, описывающий единый план тестирования, какие тесты выполнять и какие артефакты сборки использовать
- Артефакты сборки — результаты сборки
- Назначение теста — описание устройства, на котором будет выполняться тест.