python 定时任务 web管理_Selenium+WebDriver+Python 定时控制任务
為了更對得起“自動化測試”的名號,我們可以設置定時任務,使我們自動化腳本在某個時間點自動運行腳本,這樣就可以讓測試在夜間進行,減少了時間成本。通過程序來控制test case在什么時候執行是最簡單的方式了。
借用http://blog.csdn.net/liujingqiu/article/details/50518776關于HTMLTestResult的腳本,然后寫SetTime_AutoRun.py來實現定時執行任務。
SetTime_AutoRun.py腳本如下:
import unittest
import HTMLTestRunner
import os
import time
listaa=‘C:\\Python34\\test_case‘ #設置腳本所在的絕對路徑
def createsuitel():
testunit=unittest.TestSuite()
discover=unittest.defaultTestLoader.discover(listaa, pattern=‘UnitTestHtml_*.py‘, top_level_dir=None)
for test_suite in discover:
for test_case in test_suite:
testunit.addTests(test_case)
print (testunit)
return testunit
alltestnames=createsuitel()
#now=time.strftime(‘%Y-%m-%M-%H_%M_%S‘,time.localtime(time.time())) #時間格式有錯誤
now=time.strftime(‘%Y-%m-%d-%H_%M_%S‘,time.localtime(time.time())) #設置時間格式
fp = open(now+‘result.html‘,‘wb‘)
runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=‘test result‘,description=u‘result:‘) #調用HTMLRestRunner
k=1
while k<2:
timing=time.strftime(‘%H_%M‘,time.localtime(time.time()))
if timing == ‘17_35‘: #17_35指17:35,這個可以根據需要設定時間
print (‘start to run scripts‘)
runner.run(alltestnames) #運行所有的case
print (‘Finish runing scripts‘)
break
else:
time.sleep(3)
print (timing)
fp.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
F5,運行得到:
1)pythonIDLE 如圖所示:
?
從上圖可以看到17_34還沒有到我們設置的時間點17_35,于是會等待。
2)C:\Python34 路徑下,有Result.html如圖:
2016-03-34-17_34_59result.html即為我們這次的測試result.html
3)打開上述文件得到如圖所示:
上面的三個結果截圖,即為運行后得到的結果。這里偷懶, 其中使用pattern=’UnitTestHtml_*.py’, 采用的是不同文件名的.py腳本,但是里面內容是相同的,于是同樣的,得到了6個case的結果。
附:
1.pattern=’UnitTestHtml_*.py’ 表示在當前目錄下,文件名為UnitTestHtml_*.py的腳本都會被批量執行。
在實施過程中,遇到的issue:
1.第一次輸出,在C:\Python34目錄下的 2016-03-34-17_34_59result.html的文件大小為0kb,這是因為忘記加上fp.close()了。
2.以上腳本還有點小問題我們得到的2016-03-34-17_34_59result.html文件名,可以看到文件名中的設置時間沒有正確。根據以下的修改,再次運行,顯示正確。
腳本改動如下:
以前的腳本:
now=time.strftime(‘%Y-%m-%M-%H_%M_%S‘,time.localtime(time.time()))
改動后的腳本:
now=time.strftime(‘%Y-%m-%d-%H_%M_%S‘,time.localtime(time.time())) #設置時間格式
1
2
3
4
1
2
3
4
就這樣使用腳本完成了定時控制任務,實現定時自動化測試。
原文:http://www.cnblogs.com/my-blogs-for-everone/p/6058379.html
總結
以上是生活随笔為你收集整理的python 定时任务 web管理_Selenium+WebDriver+Python 定时控制任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux dump_stack
- 下一篇: python进阶中文版_GitHub -