如何在selenium webdriver中运行计划任务

时间:2013-10-12 08:32:25

标签: selenium webdriver

我想要运行

  

计时器

在selenium webdriver中,我不想使用多线程,并且计时器不能阻塞(比如js中的setInterval),现在我不知道。

例如:每10秒检查一个元素类。

3 个答案:

答案 0 :(得分:0)

如果你使用python,你可以编写一个这样的简单脚本:

#!/usr/bin/python
# filename:scheduler.py
#encoding:utf-8
import time

def scheduler():
    while True:
        # to something here
        print 'hello world'

        time.sleep(10)


if __name__ == '__main__':
    scheduler()

运行:python scheduler.py

答案 1 :(得分:0)

如果您的selenium脚本仅包含检查元素类,那么您可以将您的selenium脚本作为cronjob执行,即将java类作为cron任务运行。或者你可以选择java.util下的TimerTask。 Quartz也是一个不错的调度程序。

cron job的链接:
How to configure cron jobs Running a java program as cron job Cron job examples

TimerTask的链接:
Timer Task

Quartz的链接:
Quartz Tutorial

事件尽管您当前的范围是特定的,但您可以考虑使用上述方法来安排自动化测试套件在特定时间间隔后运行。实现夜间自动化的简便方法。

答案 2 :(得分:0)

如果您使用的是java,这可能会有所帮助..

for (int i=0;i<10;i++)
{
if(driver.findElement(By.id("id_of_element")).isDisplayed())   //you can also use selector,class name,xpath..etc instead of id
{
 break;
}
Thread.sleep(10000);//sleep for 10 secs
}

上面的代码将检查元素是否存在每10秒,如果发现它是出于for循环......