2011-11-25 14 views
-3

私はセレニウム(Python)テストを使用していますので、アプリケーションを10秒ごとに自動的にテストする必要があります。Selenium pythonは10秒ごとにテストを行います

どうすればいいですか?

+0

あなたが実際にテストするには何が必要ですか? –

答えて

1

あなたはどのリソースを持っているかによって異なります。 が自動的にいくつかのスクリプトを実行するには、cronのプログラムを見てみる必要があります

あなたができる最善のことは、私は自動テストのためにそれを使用

を構築する自動するためのツールであるJenkinsのCIを使用している - 私は構築アプリケーションを実行し、テストを実行すると、グラフのような追加のツールを提供し、回帰を検出します。

EDIT:10秒ごとにテストしたい場合は、アプリケーションがかなり小さいのでJenkinsは不要です私は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 
関連する問題