Регулирование скорости соединения в автоматизированном тесте в El Capitan?

Поэтому я планировал написать автоматический тест с использованием python-selenium (на самом деле веб-драйвер), который использует подпроцесс для ограничения скорости соединения перед набором тестов. Я нашел этот отличный скрипт для ipfw, но обнаружил, что OS X El Capitan переключилась на PF (фильтр пакетов) на Yosemite.

Все, с чем я продолжаю сталкиваться, устарело. Итак, как лучше всего задушить интернет через оболочку или cli на El Capitan? У кого-нибудь есть сценарий, которым они могут поделиться? Network Link Conditioner отлично подходит для тестирования, но было бы здорово, если бы я мог начать выявлять ошибки, возникающие на низких скоростях, с помощью автоматизации.


person Cynic    schedule 22.06.2016    source источник
comment
Невозможно сделать это из командной строки, так как веб-драйвер использует один доступный сеанс --debug, но доступен в инструментах разработки Chrome как эмуляция сетевого подключения. Или установите NLC в виртуальную машину/контейнер и используйте его.   -  person meatspace    schedule 22.06.2016
comment
Я искал, почему флаг отладки может быть проблемой, и наткнулся на это: stackoverflow.com/questions/27881485/, что является проблемой только в том случае, если я использую инструменты разработчика для замедления соединения, а это не то, что я спрашивал, как это сделать. Я говорил о замедлении всего трафика на системном уровне. Не думайте, что ВМ отвечает на вопрос. Наткнулся на более новый скрипт serverfault.com/questions/725030/, но не удалось заставить его работать на OSX 10.11.5   -  person Cynic    schedule 28.06.2016


Ответы (1)


Мне удалось задушить сеть с помощью кондиционера сетевых каналов. Чтобы установить кондиционер сетевых каналов, вам необходимо получить Hardware IO Tools. Дополнительные сведения см. в разделе Установка инструмента Apple Network Link Conditioner.

Чтобы автоматизировать настройку профиля пропускной способности в кондиционере сетевых ссылок, вы можете сослаться на мой ответ в https://stackoverflow.com/a/38991769/3884020

person Balaji Dubey    schedule 17.08.2016
comment
Принял ответ, потому что это работает. Но немного раздражает необходимость использовать яблочный скрипт для использования графического интерфейса для NLC. Если кто-нибудь найдет способ сделать это без использования графического интерфейса для включения профилей NLC или дросселирования с помощью Packet Filter, сообщите нам об этом. - person Cynic; 19.08.2016