rmfalx
@rmfalx

Как запустить в cron утилиту nosetests?

Мне нужно, что бы 1 раз в минуту запускался скрипт написанный на питоне с применением силениума.

У меня есть автотест. Он заходит на сайт, делает операцию с элементами на странице и завершается. Запускается он при помощи утилиты nosetests. Запуск выглядит так:

nosetests qwerty.py

тест отрабатывает и я получаю сообщение
Ran 1 test in 8.293s

OK


Я хочу чтобы тест запускался по cron 1 раз в минуту и тут я столкнулся с проблемами.

я написал bash скрипт

#!/bin/bash
nosetests qwerty.py


и добавил выполнение в крон
*/1 * * * *     /home/xxx/PycharmProjects/AutoTest/features/nose_tests/12.sh > /tmp/qwert2.log 2>&1


Смотрю логи и вижу, команда не найдена. Оказывается, что если вписать в баш скрипт например команду ipconfig, то он выдаст то же самое. Типа надо указывать полный путь до утилиты. Ок. Посмотрел где находится nosetests

witch nosetests
/home/xxx/.local/bin/nosetests


Указываю в bash скрипте
/home/xxx/.local/bin/nosetests qwerty.py

нихера не работает, теперь пишет

Traceback (most recent call last):
  File "/home/xxx/.local/bin/nosetests", line 7, in <module>
    from nose import run_exit
ImportError: No module named 'nose'


И тут я понимаю, что он не может получить доступ к импортируемым библиотекам по ходу. Как быть? Вот такой путь он не хавает

/usr/bin/python3 /home/xxx/.local/bin/nosetests /home/xxx/PycharmProjects/AutoTest/features/nose_tests/qlean_sms.py
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
castomi
@castomi
Серверный администратор - tickets.settin.ru
Зачем нужен bash скрипт если это можно писать на прямую в кроне?
Как ты выполняешь команду в консоли?Так же только с полным путём нужно писать в крон. И ещё для ежеминутного выполнения надо не так */1 * * * * , а вот так * * * * *
* * * * * /usr/bin/nosetests /home/xxx/PycharmProjects/AutoTest/features/qwerty.py > /var/log/nosetests.log&
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В начале файла crontab вы можете определить необходимые переменные окружения, например PATH
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы