Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Имитация плохой сети на мобильных устройствах. Как реализовать?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Всем доброго времени суток!
Как это иногда (иногда? нет, часто) происходит, при отсутствии хорошего интернета или периодических прерываниях сети, появляются новые (а точнее ранее не раскрытые) ошибки в приложениях...

Коллеги, кто подскажет быстрый и хороший способ эмуляции плохого интернета для реальных ios/android устройствах?
(п.с. сделать на пк точку доступа wi-fi не получиться, ибо инет проводной)
(п.п.с варик тестирования на эмуляторах устройств также сразу отпадает)

Заранее благодарю за любые советы.
upd. — вариант обложить смартфон фольгой уже преподнесли (^_^)

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

iOS: Network Link Conditioner. Android: при наличии мака, подключаем его по ethernet, в два щелчка поднимаем шаринг на WiFi, включаем Network Link Conditioner for Mac (доставляется отдельно, из Xcode Tools), подключаем Андроид на свежесозданную точку доступа. При отсутствии мака — netem на лине.

Для ios, на устройстве: Settings->Developer->Network Link Conditioner

Есть очень не плохой вариант:
ПК->Точка доступа->аттенюатор->девайс.
Аттенюатор: девайс, который ослабляет радиосигналл (USB/TTL аттенюатор от Weinschel, к примеру).
Для имитации низких скоростей нужно либо загрузить точку другими девайсами, как писал Andrey Bulanov, либо включить какую-нибудь глушилку, их в продаже очень много, для имитации помехи.
Тесты на уровень и скорости всегда идут отдельно, так как дествительно, у тебя может быть как плохой уровень сигналла, так и не хватать емкости (к примеру из-за перегрузки точки доступа, ограничениях в канале и т.п).

Как бы говорим про вафлю, но

сделать на пк точку доступа wi-fi не получиться, ибо инет проводной

ставит в тупик :) Свистка за 3$ нет или wifi роутера?
Идем покупаем младший mikrotik за 600 грн, сетим мощность передатчика на 1-5дби, ставим его за капитальной стеной. Можно поставить нужную пропускную способность, канальные рейты wifi, можно вообще скрипты прописать- то мощность увеличивать, то потолок скорости, то клиента выбрасывать с AP, дропать пакеты каждые n минут. Можно нагрузить канал флудом, там есть кое-какие инструменты, можно вторым девайсом качать торренты...

Заэкранируй фольгой вайфай-антенну, и будет тебе счастье. Из особо извращённых способов — просто выйди физически туда, где твоя вафле еле добивает.

З’їздь на вихідні в якесь село)

(п.с. сделать на пк точку доступа wi-fi не получиться, ибо инет проводной)

Мобильный на прямую к проводу подключали????

(п.п.с варик тестирования на эмуляторах устройств также сразу отпадает)

Продумать логику Error Handling для плохой сети, протестить ее на симуляторе, а потом добавлять с ее учетом фичи, которые в эмуляторе не доступны. И тестить «в поле», а не через провод. Как уже писалось ниже Xcode Tools имеет дополнительный инструмент по тестированию сети, в котором можно прорабатывать все случаи плохого сигнала.

Я использовал несколько методов в своей практике:
1. Как уже говорили, на реальном iOS устройстве, включить Network Link Conditioner и имитировать различные виды плохой сети. Как возможный вариант, поднять WiFi точку доступа на iOS c 3G коннектом, и потом подсоединять Android к WiFi iOS.
2. Для одного из проектов, надо было отслеживать handover из WiFi в 3G сеть. И для того, что бы не бегать по длинным коридорам, был приобретен MicroTik с очень гибким управлением мощностью WiFi части.
3. На мой взгляд идеальный вариант — на маке поднять точку доступа куда будут коннектится девайсы, и шейпить трафик уже на маке — для этого был когда-то Network Link Conditioner for Mac. Или же, через ipfw.

P.S. Я не совсем понял постановку задачи — WiFi есть в рабочем окружении или нет? Или просто нет возможности конфигурации точки доступа?

Мы клеткой фарадея обходились в таких случаях, ну и всяческие дев опции

Рекомендовали Charles Throttling — самый простой вариант. У него есть триал на 30 дней, но для коммерческого использования он не подойдёт по лицензии.
Бесплатный аналог — Telerik Fiddler (www.telerik.com/fiddler). Rules -> Performance -> Simulate Modem Speeds — и будет то, что надо.
P .S. А вообще, мне кажется, такое и загуглить можно

Коментар порушує правила спільноти і видалений модераторами.

Что такого здесь надо тестировать, для чего не подходит эмулятор? Как уже сказали, там есть все необходимые настройки.

Если так уж надо, то делаем следующее:

1. Первый девайс переводим на тип сети «только GPRS»

2. Раздаем с первого девайса интернет (точка доступа)

(это мы сделали не быстрый интернет)

3. На первой девайсе ставим закачку большого файла (грузим видео с ютуба)

(это мы имитируем плохой интернет)

4. Включаем/выключаем точку доступа на первом девайсе

(это мы имитируем прерывания)

Якщо мова йде про web applications, що необхідно проглядати через браузер, то як мінімум у Google Chrome є така фіча: F12 -> Network -> Online -> Slow 3G.

Решение для iOS № 1 — на реальном устройстве — Settings -> Developer ->Network Link Conditioner -> Enable

Решение для iOS № 2 — Так же можно использовать и simulator, но в этом случае нужно зайти в Xcode-> Open Developer Tool-> More Developer Tools -> тут Xcode перекинет Вас на Developer Account, где нужно будет скачать Hardware IO Tools for Xcode. Далее осуществите установку, откройте System Preferences и перетяните туда файл Network Link Conditioner.prefPane. Теперь Вы можете отрыть Network Link Conditioner из System Preferences и симулировать плохой интернет.

купите симкарту укртелекома или лайфа. А еще у эмулятора андроид из сдк есть опция включить плохой сигнал, нажмите три точки внизу панели эмулятора, там есть раздел Cellurlar выберите Network Type gprs, signal strengh poor

(п.с. сделать на пк точку доступа wi-fi не получиться, ибо инет проводной)

Купи Wi-Fi роутер. Wi-Fi jammers стоят копейки, только не заказывай за бугром, покупай в Украине, ибо СБУ может докопаться.

upd. — вариант обложить смартфон фольгой уже преподнесли (^_^)

включи микроволновку и стой рядом.

найти старую микроволновку, или на новой экранирующую сетку обработать напильником

А роутер не рак? Частота одинаковая.

www.netlimiter.com искать что-то такое для мобайла ) или поставить на винду + прокси и ходить через него, хотя там уже чарлез посоветовали(если что для этих целей его не юзал)

Что тестировать? Если именно радиоканал, то как уже говорилось — железный ящик.
Если периодические дисконнекты — периодически ложить-поднимать сетевую карту на передающем устройстве или до него.
Если просто плохое качество канала — на роутере поставить самый низкий приоритет полезного трафика и параллельно пустить с высоким несколько потоков из /dev/random в /dev/null.

Купите у китайцев Wi-Fi USB донгл за 3$ и поднимите на компе точку доступа.
Поставьте на комп traffic shaper и напишите скрипты для управления пропускной способностью/задержками пакетов/etc.
.....
профит

1. Покласти смартфон в залізну банку.
2. Застрягнути з телефоном в ліфті %)))

Підписатись на коментарі