Selenium Python делать тест каждые 10 секунд - PullRequest
0 голосов
/ 25 ноября 2011

Я использую тестирование на селен (python), и мне нужно проверять приложение автоматически каждые 10 секунд.

Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 25 ноября 2011

Вы можете использовать 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 голос
/ 25 ноября 2011

Это зависит от того, какие ресурсы у вас есть.Чтобы запустить какой-либо скрипт автоматически, вы должны взглянуть на программу cron

Лучшее, что вы можете сделать, это использовать Jenkins CI, который является инструментом для автоматической сборки

Я использую его для автоматических тестов -Я создаю приложение и запускаю тесты, оно предоставляет множество дополнительных инструментов, таких как графики, обнаружение регрессий и т. Д.

РЕДАКТИРОВАТЬ: если вы хотите тестировать каждые 10 секунд, то я предполагаю, что ваше приложение довольно маленькое, поэтомуДженкинс не нужен, я бы посмотрел на cron

0 голосов
/ 24 ноября 2016

Я знаю, что, возможно, это не лучшее решение, но если вы хотите сделать что-то легкое и быстрое:

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 голосов
/ 19 мая 2015

Если вы хотите автоматически проверять приложение каждые 10 секунд на вашем компьютере с ОС Windows и автоматически напоминать вам о чем-то или даже автоматически отправлять электронные письма?Используйте « Task Scheduler », включенный в Windows - его интерфейс может быть немного пугающим, но его легко использовать.

Планировщик задач имеет широкий спектр применения - все, что вы хотите, чтобы вашКомпьютер сделать автоматически, вы можете настроить здесь.Например, вы можете использовать планировщик задач для автоматического пробуждения компьютера в определенное время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...