2014-01-27 4 views
2

Я использую селеновую сетку 2.Selenium Grid конфигурация тайм-аутов

У меня есть один концентратор и 6 узлов. Проблема, с которой я сталкиваюсь, - это некорректный тест из-за неожиданных всплывающих окон javascript, и селен, похоже, не очищает эти сеансы. Когда тесты заканчиваются, браузеры все еще открыты (несколько на каждом тестовом компьютере), и все еще выполняются процессы IEDriverServer.exe.

Это файл hub.json Я использую:

{ 
    "host": null, 
    "port": 4444, 
    "newSessionWaitTimeout": -1, 
    "servlets" : [], 
    "prioritizer": null, 
    "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", 
    "throwOnCapabilityNotPresent": true, 
    "nodePolling": 5000, 

    "cleanUpCycle": 5000, 
    "timeout": 300000, 
    "browserTimeout": 60000 
} 

Любой дополнительный вход ценится ...

FYI, у меня есть, наконец, блок в моих рамках, что последняя вещь она является

driver.Dispose(); 

ответ

0

Моя перспектива от Java, но я бы метод визуализации .Dispose() будет работать, если он сделал две вещи:

  1. вызов driver.quit() (не driver.close())
  2. затем установите драйвер не = NULL, чтобы пометить для сбора мусора

Насколько мне известно, нет тайм-аут, который очищает браузеры автоматически в Selenium. В драйвере есть три разных тайм-аута, но ни один из них не связан с тем, что вы просите.

Как пояснитель, я вызываю driver.quit() в аннотации @AfterClass. Затем в каждом из моих классов он будет выполняться несколько раз через параметризованные данные и затем, наконец, выйти из браузера. В аннотации @AfterTest я делаю все, что связано с подготовкой окончательного отчета HTML.

+0

В C# драйвер.Quit() на самом деле вызывает driver.Dispose(). Я раньше использовал Quit, но менял на Dispose, прежде чем я посмотрел на фактический код и увидел, что он делает то же самое. – alphanumericone

Смежные вопросы