закрыть лишние броузерные окна
#1
Отправлено 08 октября 2009 - 12:19
ситуация такая:
используется селениум RC, сервер поднимается с конретным профилем ФФ (установлено дополнения Remember Certificate Exception) . в качестве фреймвотка Idea, язык тестов Java, OC Linux.
при запуске теста открывается окно установленных аддонов, потом окно селениумного тест раннера, потом собственно окно с проверяемой страницей. тест выполняется и по прошествии окна не закрываются. selenium.close(); закрывает только окно с тестируемой странцей. остальные висят. если запускать на выплнение сьют окон висеть останется множество.
кто нибудь с таким сталкивался и знает чего и где поднастроить или прописаь что бы такой проблемы не было?
#2
Отправлено 08 октября 2009 - 12:26
По окончании выполнения теста вызывайте selenium.stop(); Этот метод закроет все окна, используемые данной сессией браузера.доброго времени суток. побродил по форуму яснее не стало. если кто сталкивался подскажите пожалуйста...
ситуация такая:
используется селениум RC, сервер поднимается с конретным профилем ФФ (установлено дополнения Remember Certificate Exception) . в качестве фреймвотка Idea, язык тестов Java, OC Linux.
при запуске теста открывается окно установленных аддонов, потом окно селениумного тест раннера, потом собственно окно с проверяемой страницей. тест выполняется и по прошествии окна не закрываются. selenium.close(); закрывает только окно с тестируемой странцей. остальные висят. если запускать на выплнение сьют окон висеть останется множество.
кто нибудь с таким сталкивался и знает чего и где поднастроить или прописаь что бы такой проблемы не было?
Соответственно, перед началом каждого теста надо стартовать селениум
#3
Отправлено 08 октября 2009 - 12:39
# info(1255006561250): Executing: |clickAt | ХХХХХХ | 27,15 |
# info(1255006561345): Executing: |waitForPageToLoad | 30000 | |
# info(1255006562273): Executing: |isTextPresent | Required field | |
# info(1255006562376): Executing: |isTextPresent | ХХХХХХХХХХ | |
# info(1255006562442): Executing: |close | | |
# error(1255006562534): saw blank string xmlHttpForCommandsAndResults.responseText
# info(1255006587385): Done appending missed logging messages
# error(1255006587386): Log window displayed. Logging events will now be recorded to this window.
что оно имет в виду?
#4
Отправлено 08 октября 2009 - 13:50
Вы точно stop метод вызвали? По вашим логам используется метод close, который закрывает только отдельное окно, а не сессию браузераспасибо за ответ, но пробовал, не помогло окна продолжпют висеть((( хотя возникло подозрение что не закрывается оно потому что в логах RemoteRunner-а появляется
# info(1255006561250): Executing: |clickAt | ХХХХХХ | 27,15 |
# info(1255006561345): Executing: |waitForPageToLoad | 30000 | |
# info(1255006562273): Executing: |isTextPresent | Required field | |
# info(1255006562376): Executing: |isTextPresent | ХХХХХХХХХХ | |
# info(1255006562442): Executing: |close | | |
# error(1255006562534): saw blank string xmlHttpForCommandsAndResults.responseText
# info(1255006587385): Done appending missed logging messages
# error(1255006587386): Log window displayed. Logging events will now be recorded to this window.
что оно имет в виду?
#5
Отправлено 09 октября 2009 - 11:35
...
verifyFalse(selenium.isTextPresent("ХХХХХХХХХХХХХХХ"));
}
selenium.close();
selenium.stop();
}
}
.close отрабатывает закрывается одно окно. без него висят все три. и логи выглядят именно так. и сохраняются они именно в окне в котором RemoteRunner остается висеть. его не закрывает.
#6
Отправлено 09 октября 2009 - 12:48
Попробуйте вызов close убрать. Похоже, что вы закрываете базовое окно, в котором выполняются действия теста и на это селениум ругается, возможно даже с выбросом исключения, из-за чего последующий метод stop не срабатывает и окна висят. close нужен, когда надо закрыть вспомогательные окна, которые появляются в ходе работы теста, но основное окно закрывать не надотак точно. код выглядит вот так
...
verifyFalse(selenium.isTextPresent("ХХХХХХХХХХХХХХХ"));
}
selenium.close();
selenium.stop();
}
}
.close отрабатывает закрывается одно окно. без него висят все три. и логи выглядят именно так. и сохраняются они именно в окне в котором RemoteRunner остается висеть. его не закрывает.
#7
Отправлено 12 октября 2009 - 06:24
#8
Отправлено 12 октября 2009 - 08:03
Тогда проблема в том, что у вас тест где-то падает с ошибкой и вылетает исключение, соответственно, до конца метода, где находится stop, тест не доходит.списибо. пробовал. не помогает. в таком случае остается висеть и основное окно (((
Попробуйте добавить в ваш тестовый класс метод:
public void tearDown() { selenium.stop(); }
В JUnit подобный метод выполняется после завершения работы тест кейса, независимо от того, было ли исключение или нет.
#9
Отправлено 12 октября 2009 - 14:10
даже вот такое
package com.example.tests;
import com.thoughtworks.selenium.*;
public class q extends SeleneseTestCase {
public void setUp() throws Exception {
setUp("http://www.google.com.ua/", "*chrome");
}
public void testQ() throws Exception {
selenium.open("http://www.google.com.ua/");
selenium.type("q", "q");
selenium.click("btnG");
for (int second = 0; ; second++) {
if (second >= 60) fail("timeout");
try {
if (selenium.isTextPresent("Q")) break;
} catch (Exception e) {
}
Thread.sleep(1000);
}
verifyTrue(selenium.isTextPresent("Q"));
selenium.stop();
}
}
не работает. идея говорит, что тест благополучно прошел. но логи раннера не меняются...
может что-то с настройками не то?
#10
Отправлено 14 октября 2009 - 08:48
#11
Отправлено 25 февраля 2011 - 16:09
@Before public void setUp() throws Exception { selenium = new CustomSelenium("localhost", 4444, "*chrome", url); selenium.start(); } @Test public void testUpload() throws Exception{ //код теста } @After public void tearDown() throws Exception{ selenium.stop(); }
#12
Отправлено 02 марта 2011 - 11:08
#13
Отправлено 02 марта 2011 - 13:35
#14
Отправлено 02 марта 2011 - 14:52
Попробуйте сделать вот так, работает во всех известных мне браузерах, кроме Konqueror (а если кто знает, как его закрыть -- буду очень благодарен)
selenium.close(); selenium.stop();Первое действие закрывает окно браузера, а второе завершает сессию.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#15
Отправлено 02 марта 2011 - 15:09
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных