2013-11-13 5 views
1

Моя проблема в том, что иногда, когда я тестирую веб-сайт, веб-редактор FF не закрывает окно браузера после теста, хотя он продолжает процесс тестирования, пока не открывается так много окон, что есть нет памяти. Я пробовал использовать driver.close() и driver.quit(), а также оба из них, но SOMETIMES они просто не работают. Есть ли способ заставить водителя уйти? Я посмотрел на убийство процесса, но я не могу получить PID от начатых Webdrivers ... Я единственный, кто столкнулся с этой проблемой еще?Selenium Firefox Webdriver иногда не закрывается

+1

Если в вашей программе нет аннотаций @ @ Aftermethod или '@ AfterClass', вы можете использовать try/catch/finally блокирует и помещает ваш driver.quit() или driver.close() в метод finally. – Hemanth

ответ

0

Ну, я не уверен, как выглядит ваш код (так как вы его не предоставили), но обычный поток для такого теста - это класс со следующими методами.

public class TestClass { 

    private WebDriver driver; 

    @BeforeClass 
    public void setUp() { 
     driver = new FirefoxDriver(); //or any other one 
    } 

    @Test 
    public void test1() {} 

    @Test 
    public void test2() {} 

    @AfterClass 
    public void tearDown() { 
     driver.quit(); 
    } 
} 

Обратите внимание, что вы не должны вызывать WebDriver#close или WebDriver#quit в методах испытаний, вы можете просто повторно использовать сеанс браузера во время тестирования.

+0

не уверен, что я согласен с этим, хотя методы '@ Before' и' @ After' следует вызывать per-method. не раньше и после класса, подобного этому. – sircapsalot

+0

Я предполагаю, что это зависит от сценария тестирования. Обычно я пытаюсь проверить одну страницу с одним классом, поэтому этот подход имеет смысл. Во всяком случае, хороший момент! –

+0

Когда вы используете '@ BeforeClass' и' @ AfterClass', методы должны быть статическими и, соответственно, переменной экземпляра. –

-1

У меня есть Firefox для работы с driver.quit(). То, что я сделал, удалить мою текущую версию и загрузить старую версию Firefox из этого каталога, который Modzilla держит общественность: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

версия я скачал был «Firefox Setup 27.0.exe» отсюда: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/27.0/win32/en-US/

После этого все работало.


Прежде чем я переключился версии Firefox, я использовал Firefox браузер для загрузки Selenium IDE здесь: http://www.seleniumhq.org/download/ enter image description here

Селен IDE является Firefox плагин.

То, что я думаю, было это = Когда у меня была версия Firefox 32 (новейшая версия), и я посмотрел в вариантах «Расширения», Selenium IDE не появлялся. Теперь, когда у меня есть версия Firefox 27, появляется Selenium IDE, и она выглядит так: enter image description here

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