2

我们有一个使用 Selenium 测试框架的应用程序。该应用程序在 Windows Server 2012 上运行,并通过 Windows 任务计划程序定期运行。我通过远程桌面连接到服务器。

当我在计划任务设置选项中设置“无论用户是否登录时运行”时都会出现问题。我的应用程序开始使用此 javascript 代码正常运行,但随后立即以错误异常结束 - 它在下面的行中标记。如果我正常启动应用程序,一切正常。不幸的是,我需要制作一个即使没有人登录也可以运行的应用程序。没有人已经遇到过这个问题吗?

这是我的代码:

public Bitmap MakeBitmap(Uri url)
{
    driver = MakeFirefoxDriver();
    driver.Navigate().GoToUrl(url.AbsoluteUri);

    // In this command, an exception occurs.
    driver.ExecuteScript("document.body.style.overflow = 'hidden'")

    Thread.Sleep(TimeSpan.FromSeconds(SleepTime));
    var screenshot = driver.GetScreenshot();
    return new Bitmap(Image.FromStream(new MemoryStream(screenshot.AsByteArray)));
}

private FirefoxDriver MakeFirefoxDriver() 
{
    var profile = new FirefoxProfile { EnableNativeEvents = true };
    var capabilityValue = new List<string> { "-width", "500", "-height", "340" };
    var capabilities = DesiredCapabilities.Firefox();
    capabilities.SetCapability("initial", capabilityValue);
    capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, profile);
    return new FirefoxDriver(capabilities);
}

异常如下所示:

Exception log: No response from server for url http://localhost:7062/hub/session/......
StackTrace: at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest
request) at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String
driverCommandToExecute, Dictionary`2 parameters) at ...
4

1 回答 1

1

我在 Windows 7 上使用任务计划程序,希望它是一样的。在调度程序的“常规”选项卡上,单击“无论用户是否登录都运行”。使用此设置,每次保存属性时都需要输入密码。当它运行时,屏幕上不会出现任何内容。我在这些论坛上读到,在这种模式下运行,如果您尝试抓取图像,它将是空白的。

于 2012-09-05T01:19:58.950 回答