Seleniumテストフレームワークを使用するアプリケーションがあります。このアプリケーションはWindowsServer2012で実行され、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 ...