Selenium Pythonは10秒ごとにテストを行います

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

これどうやってするの?

3
あなたは実際に何をテストする必要がありますか?
追加された 著者 Thomas Orozco,

4 答え

スレッディングタイマーを使用することができます:

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秒間新しいスレッドを生成することに注意してください。スレッドの数が耐えられなくなる前に、スレッドの起動が停止するような方法を用意してください。

3
追加された

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

あなたができる最良のことはJenkins CIを使うことです。自動ビルドのツールです

自動テストに使用します。アプリケーションをビルドしてテストを実行し、グラフのような追加ツールを提供し、回帰を検出します。

編集:あなたは10秒ごとにテストする場合は、私はあなたのアプリケーションはかなり小さいと思うので、ジェンキンスが必要ではない、私はcronを見てみましょう

1
追加された
私は同意します - ここでは、cronが正しいツールであるようです。ブラウザの起動とテストの実行には若干のオーバーヘッドがあります。テストが非常に速い場合を除き、10秒は実際には実行できません。
追加された 著者 AHM,

Windowsマシン上で自動的にアプリケーションを10秒ごとにテストして何かについて思い出させる、または自動的に電子メールを送信する場合は、 "タスクスケジューラ"が含まれています - そのインターフェイスは少し威圧することができますが、使いやすいです。

タスクスケジューラにはさまざまな用途があります。コンピュータが自動的に行うことができれば、ここで設定できます。たとえば、タスクスケジューラを使用して、特定の時刻にコンピュータを自動的にスリープ解除することができます。

1
追加された

私はそれが最良の解決策ではないかもしれないが、あなたが何かを簡単かつ迅速にしたいと思うなら、

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
0
追加された