Я использую selenium-rc с C # для тестирования моего приложения asp.net mvc2.В настоящее время все, что я делаю, это открываю домашнюю страницу с помощью selenium RC.
, когда я запускаю тест, я вижу, что пульт дистанционного управления селеном открыт в браузере, и я вижу, что мое приложение открыто в браузере, но селен показывает 404ошибка и прерывает тест.
В попытке заставить это работать, я сократил тест до простого консольного приложения и изменил порт селена по умолчанию, вот мой код:
static void Main(string[] args)
{
try
{
var _selenium = new DefaultSelenium("localhost", 1234, "*chrome", "http://localhost:6666");
_selenium.Start();
_selenium.Open("/");
try
{
_selenium.Stop();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.WriteLine("Done.");
Console.ReadKey();
}
это происходит с ошибкой "ОШИБКА XHR: URL = / localhost: 6666 / Response_Code = 404 Error_Message = Не найдено в сеансе 5f2e59798ae74e7cb741d50cae7e817a"
, и если вы посмотрите в запущенной консоли селенасм.
15:53:16.238 INFO - Allocated session 5f2e59798ae74e7cb741d50cae7e817a for http://localhost:6666, launching...
15:53:16.265 INFO - Preparing Firefox profile...
15:53:18.325 INFO - Launching Firefox...
15:53:20.977 INFO - Got result: OK,5f2e59798ae74e7cb741d50cae7e817a on session 5f2e59798ae74e7cb741d50cae7e817a
15:53:20.980 INFO - Command request: open[/, ] on session 5f2e59798ae74e7cb741d50cae7e817a
15:53:22.654 INFO - Got result: XHR ERROR: URL = http://localhost:6666/ Response_Code = 404 Error_Message = Not Found on session 5f2e59798ae74e7cb741d50cae7e817a
Интересные вещи, которые я пробовал:
изменить сайт на "google" - тогда мой тест работает
изменить сайт на "google" порт 80, затем онне работает.
переместил мой сайт из cassini в iis 7 - не работал
сделал мой сайт сайтом по умолчанию на iis 7, например http://localhost/ - не работал
Я использовал fiddlerчтобы посмотреть сеанс - все запросы возвращаются успешно.
Я пытался передать -avoidProxy и -ensureCleanSession при запуске сервера RC.Ничего заметного не изменилось.
Если я переконфигурирую селен для использования порта по умолчанию, я получаю следующее исключение, повторяющееся снова и снова (один раз каждые 10 секунд / каждый раз разный идентификатор сеанса).Это не происходит, как только я изменил порт по умолчанию, но я включил его на всякий случай.
16:26:38.019 WARN - POST /selenium-server/driver/?seleniumStart=true&localFrameAddress=top&seleniumWindowName=&uniqueId=sel_48694&sessionId=a87b8d6a9e444a5485a5044ef6370e2d&counterToMakeURsUniqueAndSoStopPageCachingInTheBrowser=1286810798016&sequenceNumber=4115 HTTP/1.1
java.lang.RuntimeException: sessionId a87b8d6a9e444a5485a5044ef6370e2d doesn't exist; perhaps this session was already stopped?
at org.openqa.selenium.server.FrameGroupCommandQueueSet.getQueueSet(FrameGroupCommandQueueSet.java:220)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleBrowserResponse(SeleniumDriverResourceHandler.java:165)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:131)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482)
at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909)
at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:245)
at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Кто-нибудь может пролить свет?