2011-11-25 131 views
-3

我正在使用硒(python)測試,並且需要每隔10秒自動測試我的應用程序。硒蟒蛇每10秒測試一次

我該怎麼做?

+0

什麼你真的需要測試? –

回答

1

這取決於你有什麼資源。 自動運行的腳本,你應該看看cron的程序

你能做的最好的事情是用詹金斯CI是一個工具,自動構建

我用它的自動測試 - 我建應用程序和運行測試,它提供了很多額外的工具,如圖形,檢測迴歸等

編輯:如果你想測試每10秒,那麼我想你的應用程序是非常小的,所以詹金斯是不需要的,我會看看cron

+1

我同意 - 在這裏cron似乎是正確的工具。雖然啓動瀏覽器和運行測試有一些開銷,但是可能10秒不是真的可行,除非測試非常快。 – AHM

3

你可以使用threading.Timer

import threading 
import logging 

def print_timer(count): 
    if count: 
     t = threading.Timer(10.0, print_timer,args=[count-1]) 
     t.start() 
    logger.info("Begin print_timer".format(c=count)) 
    time.sleep(15) 
    logger.info("End print_timer".format(c=count)) 

def using_timer(): 
    t = threading.Timer(0.0, print_timer,args=[3]) 
    t.start() 

if __name__=='__main__': 
    logging.basicConfig(level=logging.DEBUG, 
         format='%(threadName)s: %(asctime)s: %(message)s', 
         datefmt='%H:%M:%S')  
    using_timer() 

產生

Thread-1: 06:46:18: Begin print_timer -- 
             | 10 seconds 
Thread-2: 06:46:28: Begin print_timer -- 
Thread-1: 06:46:33: End print_timer  | 10 seconds 
Thread-3: 06:46:38: Begin print_timer -- 
Thread-2: 06:46:43: End print_timer  | 10 seconds 
Thread-4: 06:46:48: Begin print_timer -- 
Thread-3: 06:46:53: End print_timer 
Thread-4: 06:47:03: End print_timer 

注意,這將產生一個新的線程永遠10秒。一定要提供一些方法讓線程產生在線程數量變得不可忍受之前停止。

-1

如果您想在Windows計算機上每10秒自動測試一次您的應用程序並自動提醒您,甚至自動發送電子郵件?使用Windows附帶的「Task Scheduler」 - 它的界面可能有點嚇人,但它很容易使用。

任務計劃程序有多種用途 - 您希望計算機自動執行的任何操作,都可以在此進行配置。例如,您可以使用任務計劃程序在特定時間自動喚醒您的計算機。

0

我知道,也許它不是最好的解決辦法,但如果你想要做一些方便,快捷:

import time 

def my_function():#my function 
    do_something 
    ....... 

try: 
    while True: 
     my_function()#call my function 
     time.sleep(10)#wait 10 second 
except KeyboardInterrupt:#execute the while loop until you don't press CRTL+C, when you press it the execution is going to stop after 10 sec 
    pass