2017-02-20 30 views
1

Я планирую некоторые unittest python файлы с помощью crontab.Расписание unittest python файлов с crontab; как дать 5-секундную паузу между каждым unittest?

кронтаба -e:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * cd /Users/HeyJude/ntry_selenium && /Users/HeyJude/ntry_selenium/ladderPattern.sh.command 

ladderPattern.sh.command: #/бен/ш

sleep 10 
python /Users/HeyJude/ntry_selenium/result.py & 
sleep 1 
python /Users/HeyJude/ntry_selenium/predict.py & 
sleep 1 
python /Users/HeyJude/ntry_selenium/lds24.py & 

этих 3 файлов (result.py, predict.py, lds24.py) - все файлы unittest для python. все они что-то вроде:

import unittest 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

class PythonOrgSearch(unittest.TestCase): 

    def setUp(self): 
     self.driver = webdriver.Firefox() 
     # ... lines of code 
    def test_search_in_python_org(self): 
     driver = self.driver 
     driver.get("http://www.python.org") 
     # ... lines of code 
    def tearDown(self): 
     self.driver.close() 
     # ... lines of code 
if __name__ == "__main__": 
    unittest.main() 

Я хочу запустить predict.py после result.py полностью сделан, но, возможно, потому, что эти 3 файлов UnitTest файл, все 3 начинается почти одновременно! Возможно, терминал предполагает, что каждый файл выполнен, когда запускается метод тестирования внутри класса unittesting! Но я не знаю, почему это происходит.

мой вопрос, я хочу убедиться, что следующий начинается только тогда, когда предыдущий кончается. и я также хочу поставить паузу в 5 секунд между файлами python.

Есть ли какой-либо способ?

ответ

0
  1. Удалите & с конца вашей командной строки. Именно это приводит к тому, что сценарий немедленно переходит к следующей команде, а не ждет завершения текущей команды.
  2. Измените sleep 1 на sleep 5, если вам требуется спящий режим 5 секунд между командами.
  3. Это должно быть!