t.me/atinfo_chat Telegram группа по автоматизации тестирования

Параллельный запуск одного скрипта с разными параметрами


(Mentas) #1

Всем привет!

Написал скрипт, который выдергивает все ссылки c главной страницы сайта и проверяет их метом 'HEAD', если ссылка не найдена(404 ответ) то, записывает ее в файл.

Этот скрипт необходимо запустить одновременно на 10 или более сайтов. Соответственно в скрипте есть два параметра, которые должны браться при запуске скрипта - url сайта и имя файла, в которое будет записываться неработающие ссылки. Url сайтов и имена файлов фиксированные и вынесены в отдельный файл(Settings.py).

Собсно я не знаю, как запустить данный скрипт на 10 сайтов одновременно, чтобы в каждом из запущенных скриптов были свои url сайта и имя файла.
 
Подскажите пожалуйста какой-нибудь метод, как это сделать и целесообразно это вообще?  

(apetrovskiy) #2

Как "вообще пример" однопоточного запуска параллельных тестов - вот(как это выглядит на питоне - понятия не имею): http://softwaretestingusingpowershell.com/2012/08/23/web-automation-a-small-data-driven-test-with-selenium/

Собирает урлы от разных поисков (это просто для проверки концепции). При этом каждый шаг начинается после того, как все браузеры отработали предыдущий.

Наверняка дальше вас пошлют в Selenium Grid.


(Mykhailo Poliarush) #3

тут у вас есть два выбора, использовать например py.test 

проще

т.е. вы делаете тесты, а тесты можно легко запустить паралельно

http://pypi.python.org/pypi/pytest-xdist

сложнее

или же использовать мультипроцессинг 

http://docs.python.org/library/multiprocessing.html#module-multiprocessing

тут надо будет больше программировать


(Mentas) #4

Буду пробоать пока вариант, который попроще. Времени нет особо разбираться с мультипроцессингом. Но интересно конечно было бы попробовать вариант посложнее :)
Спасибо за советы!


(Mykhailo Poliarush) #5

хорошо, тогда сначала вам надо поставить py.test, а уже поверх него поставить плагин

http://pytest.org/latest/getting-started.html

если будут вопросы, задавайте