t.me/atinfo_chat Telegram группа по автоматизации тестирования

Problems with chrome web driver version 22_0_1203


(Андрей Гололобов) #1

Все здравствуйте.


У меня после обновления вебдрайвера для хрома до версии 22_0_1203 возникли проблемы с запуском скойпа тестов(обновить пришлось т.к. отказывался работать на старом дравере).
На проекте используется BDD и при запуске скоупа тестов некоторые проходят, но на большинстве выдается ошибка: OpenQA.Selenium.WebDriverException : No response from server for url http://******.

При запуске тестов по отдельности они проходят,но валятся с такой ошибкой при запуске в скоупе...
Подскажите, пожалуйста, может уже кто-то сталкивался с такой проблемой и знает как ее решить???Заранее спасибо. 


(apetrovskiy) #2

У меня на одной из машинок (кажется, XP SP3 x32 Swedish) тоже есть такая проблема, решения не знаю. У вас, случаем, файрвол не закрыт для этого экзешника?

А вот есть странность еще и с файрфоксом: у меня на паре машинок драйвер не пашет, что из комплекта 2.24, что 2.25. Браузер пашет, драйвер нет.


(Mykhailo Poliarush) #3

а в чем проблема

можно просто вернуть статый хром драйвер и написать багу разработчикам :)


(Андрей Гололобов) #4

У меня с фаерфоксом нет никаких проблем. Проблемы только с хромом. Читал на разричных форумах-у многих такие проблемы. Вероятно, что это баг нового драйвера. Будем надеятся, что вскоре они пофиксают эту проблему.


(Андрей Гололобов) #5

Старый драйвер просит апдэйта и отказывается работать. Иначе бы и не было проблемы.


(Mykhailo Poliarush) #6

ну это баг 100%, тогда надо жить и надеятся, что его быстро пофиксят

к сожалению, у меня нету для этого решения :(


(vdyak) #7

маю аналогічну проблему, в інетрнетах бачу що така бага вилазить періодично, якщо знайдете воркераунд, відпишіть будь-ласка


(Андрей Гололобов) #8

Всем привет!

В продолжение темы: вроде пофиксали баг с хром драйвером. Сейчас тесты запускаются нормально. Вот ссылка на скачивание последней версии: http://code.google.com/p/chromedriver/downloads/list.

Только какая-то у него проблема с остановкой, не хочет стопаться. В причине еще не разбирался,как скачал-сразу же вам написал!

Удачи :=)


(apetrovskiy) #9

Крешиться определённо больше стал. Не намного, но побольше. Нового исключения в файрволе не попросил. Все тесты проходят, но падает после тестов, на закрытии (так и было, стало падать чуть чаще).


(Андрей Гололобов) #10

У меня локально проходят все тесты,но веб драйвер потом не может стопнуться,приходится руками закрывать. А на билд машине из-за того,что драйвер не стопается-не может сбилдоваться.Надо заходить на сервак и убивать процессы руками. Раньше все закрывалось.


(apetrovskiy) #11

А как у вас закрывается?

У меня:

         public static void ResetData()
        {
//            CurrentWebDriver = null;
//            CurrentWebDriverPID = 0;
//            CurrentWebDriverHandle = IntPtr.Zero;
            Error.Clear();
            
            System.Collections.Generic.Dictionary<string, IWebDriver>.KeyCollection keys = Drivers.Keys;
            foreach (string key in keys) {
                try { Drivers[key].Close(); } catch {}
                try { Drivers[key].Quit(); } catch {}
            }
            
            CurrentWebDriver = null;
            CurrentWebDriverPID = 0;
            CurrentWebDriverHandle = IntPtr.Zero;
            Drivers.Clear();
            DriverPIDs.Clear();
            DriverHandles.Clear();
        }

Перенёс зачистку активного драйвера, боялся, что вдруг каким-нибудь волшебством трогание хэндла драйвера его роняет, не помогло.


(Андрей Гололобов) #12

Вот так:

[AfterTestRun]
        public static void AfterTestRun()
        {
            var driver = Factory.Container.Resolve<IWebDriver>();

            if (driver != null)
            {
                driver.Quit();
            }
        }


(apetrovskiy) #13

Может быть, они просто вываливают нам отладочную версию и некоторые эксепшены пробуют поднять системный отладчик?

"If exception code 0x80000003 occurs, a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch. This problem should rarely occur. If it occurs repeatedly, make sure that a kernel debugger is connected and the system is started with the /DEBUGswitch."


(apetrovskiy) #14

Ну да, тесты проходят (сейчас запускал на 8 build 8400 x64 En), но падал более десятка раз (и это ещё только половина тестов на картинке относятся к хрому!).


(Андрей Гололобов) #15

Чудесным образом начало все закрываться. Возможно обновление самого хрома как-то помогло.


(apetrovskiy) #16

ВЕЗУНЧЕГ! А мне пришлось чинить самому. Починил так:

             System.Collections.Generic.Dictionary<string, IWebDriver>.KeyCollection keys = Drivers.Keys;
            foreach (string key in keys) {
//                try { Drivers[key].Close(); } catch {}
                try { Drivers[key].Quit(); } catch {}
            }

Обнаружилось сделующее:

если использовать .Close(), драйвер, как и обещали, закрывает браузер (и оставляет окошко cmd). зачем - непонятно, он же не может заново стартовать браузер.

Должен закрывать окошко браузера. Если же окошко последнее (сейчас у меня в тестах по одному окошку), должен выходить ... из браузера. Но не из драйвера.

Если использовать .Quit(), то и браузер закрывает, и из драйвера выходит.

Если же использовать .Close() и .Quit(), то частенько падает (в каждом третьем-пятом случае). По-видимому, это баг в методе .Quit(), теряется бедный, если браузер уже закрыл, дёргает, наверное, за несуществующий хэндл... (возможно, где-то кому-то надо записать баг)

Наверное, ещё можно попробовать .Close() и .Dispose() - судя по названию, должно работать, сам не пробовал.


(apetrovskiy) #17

Я тут жаловался на Firefox driver: на днях, может быть даже сегодня, проблема "не запускается драйвер файрфокса" прошла. :)

Симптомы были такие: не запускалось по причине каких-то пермиссий (понять каких - невозможно, а игры с файловыми пермиссиями и типами запуска ни к чему не привели).

Саммари: похоже, помог снос Immunet protect (это бесплатный домашинй антивирус на основе обычного ClamWin и общей базы в облаке), avast не сносил.

Почему я так решил? Зафиксирую как памятку самому себе. Недавно данный хост подзависал намертво сразу после попытки залогониться. А чекдиск загрузочного тома и вовсе отказывался запускаться - "что-то лочит" отвечал. В результате я интуитивно решил в сейфмоде снести иммунет. А что касается "подзависания", это оказалось бывает и на W7 - смена языка неюникодных программ (на XP и 2003 смена MUI убивала explorer на каждой второй машинке).

Так вот, снёс я иммунет, логон на маишнку починился. Как оказалось впоследствии, починился и драйвер файрфокса.

P.S. Обычно я люто ненавижу "производителей" ПО (чаще всего это мелочь всякая), из-за которых приходится менять локаль для неюникодных программ на русскую. На этот раз отличился панасоник - драйвер сканера в мфу, видимо, не понял айди нового барабана, как я это понимаю. Да, признаюсь, смена локали в конечном счёте помогла выявить проблему (а горе-производителей заведомого неюникодного старья я всё равно не перевариваю).

P.P.S. И как достал этот баг в винде, когда после переключения даже не на русскую локаль, всего лишь на локаль для неюникодных программ, к имеющейся уже раскладке Russian (Typewriter) она добавляет и делает основной раскладку Russian...