我正在使用crontab安排一些unittest python文件。
crontab -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: #!/ bin / sh的
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)都是python unittest文件。它们都像是:
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()
我想在result.py完成后运行predict.py,但也许因为这3个文件是unittest文件,所有3个文件几乎同时启动! 也许终端假设每个文件都完成了,当单元测试类里面的测试方法启动时!但我不确定为什么会这样。
我的问题是,我想确保下一个只在前一个结束时启动。我还希望在python文件之间放置5秒的暂停。
有没有办法解决这个问题?
答案 0 :(得分:0)
&
。这是导致脚本立即继续执行下一个命令的原因,而不是等待当前命令完成。sleep 1
更改为sleep 5
。