【问题标题】:Selenium - Using Windows Task Scheduler vs. command lineSelenium - 使用 Windows 任务计划程序与命令行
【发布时间】:2014-09-15 05:14:25
【问题描述】:

我有一个启动我的 Selenium 脚本(用 Java 编写)的批处理文件,它使用 IEDriverServer。当我从命令行运行该批处理文件时,脚本按预期工作。但是,当我使用 Windows 任务计划程序运行完全相同的批处理文件时,脚本在 WebDriverWait until 语句期间超时:

(new WebDriverWait(driver, JAVASCRIPT_TIMEOUT_SECONDS)).until(new ExpectedCondition<Boolean>() {
    public Boolean apply(WebDriver d) {
        return d.getTitle().equals(BROWSE_PAGE_TITLE);
    }
});

我发现了这篇 Stack Overflow 帖子:

Selenium runs as scheduled task on Windows Server

这表明将作业设置为“无论用户是否登录都运行”可以解决问题,但我已经以这种方式设置了作业。

我已经尝试过 32 位和 64 位版本的 IEDriverServer。

还值得注意的是,使用任务计划程序时,sendKeys 方法每次击键大约需要 5 秒,但在直接运行批处理文件时不会。

如何让 Selenium 在使用任务计划程序时以与从命令行运行时相同的方式运行?

其他信息

  • Windows Server 2008 R2
  • IEDriverServer 2.42.0 版
  • Selenium Java 版本 2.42.2

【问题讨论】:

    标签: java windows selenium-webdriver scheduled-tasks


    【解决方案1】:

    这里有一个建议,创建一个可执行的 jar 文件(右键单击您的项目并导出为 Executable Jar)并尝试直接运行它。我从来没有遇到过任何性能问题。

    另外,请确保您的互联网连接稳定,您可以在任务运行之前使用“网络”选项卡进行这些设置。

    以下是如何实现此目的的简短说明:

    1. 创建新任务
    2. 设置时间表
    3. 在“常规”选项卡中,使用“无论用户是否登录都运行”会很棒。
    4. 转到操作,点击新建和使用设置有点像这样:

    1. 在条件中编辑电源选项(如果需要,您也可以选择网络设置)

    1. 另外,请考虑更新设置

    保存任务,右击任务并运行它检查它是否工作正常。

    希望对你有所帮助:)

    【讨论】:

      猜你喜欢
      • 2013-11-07
      • 1970-01-01
      • 2014-12-28
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多