Selenium + Eclipse + TestNG
#1
Отправлено 01 февраля 2010 - 14:19
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.mail.ru");
или *chrome - ошибка: ERROR Server Exception: sessionId should not be null;
если указать полный путь: "*firefox c:\\Program Files\\Mozilla Firefox\\firefox.exe" - ничего не изменяется.
В браузерах ОПЕРА и ИЕ - запускается, но вываливается на
selenium.waitForPageToLoad("30000");
- в опере выдает: Security error: attempted to read protected variable 'href'
- в ИЕ - com.thoughtworks.selenium.SeleniumException: Разрешение отклонено
Как исправить?
Код:
private Selenium selenium;
@BeforeClass
public void startSelenium() {
selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.mail.ru");
selenium.start();
}
@Test
public void InputSite() {
selenium.open("/");
selenium.type("name=Login", "testselenium2");
selenium.type("name=Password", "test");
selenium.select("name=Domain", "@mail.ru");
selenium.click("//input[@value=\"Войти\"]");
//selenium.waitForCondition("jQuery", "30000");
selenium.waitForPageToLoad("30000");
//selenium.isTextPresent("Здравствуйте, test test!");
selenium.type("name=q_query", "qqqqqqq");
}
#2
Отправлено 01 февраля 2010 - 14:49
1) Селениум-сервер на указанном хосте с нужным портом запущен
2) Все окна браузера, под которым запускаются тесты, закрыты
Ну, и в selenium.open("/"); Все-таки попробуйте указать полный URL (это так, на всякий)
#3
Отправлено 01 февраля 2010 - 15:21
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#4
Отправлено 02 февраля 2010 - 07:28
Для начала проверьте, что:
1) Селениум-сервер на указанном хосте с нужным портом запущен
2) Все окна браузера, под которым запускаются тесты, закрыты
Ну, и в selenium.open("/"); Все-таки попробуйте указать полный URL (это так, на всякий)
1) сервер запущен - он и показывает ошибку.
2) с закрытыми окнами и процессами тоже не работает. Следует отметить, что процесс firefox создается, но браузер не запускается. После того, как вылетает ошибка, - процесс не завершается и его приходится убивать ручками.
#5
Отправлено 02 февраля 2010 - 07:38
Типовая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)
Скачал http://javascript.ru...um-rc#firefox-3 последний снапшот Selenium RC - ошибка "sessionId should not be null" пропала, но появилась другая: "FAILED CONFIGURATION: @BeforeClass startSelenium
java.lang.RuntimeException: Could not start Selenium session: Internal Server Error"
В ИЕ и ОПЕРЕ все работает.
Вылетало на selenium.waitForPageToLoad("30000"); из-за редиректа на win.mail.ru. Решил просто: selenium.open("http://win.mail.ru/");
Единственное: в опере не грузится какая-то картинка. Выключаю загрузку изображений - все работает.
По этому поводу вопрос: как программно отключить загрузку изображений в браузере?
#6
Отправлено 02 февраля 2010 - 15:00
Кстати о птичках :) давно уже подметил, что http://www.mail.ru при входе в ящик, отправляет запрос на httpS://auth.mail.ru, который при валидных логине и пароле, кидает вас в ящик на http://win.mail.ruТиповая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)
Вполне возможно из-за этих редиректов и возникают разного рода грабли...
Про Тестинг
#7
Отправлено 02 февраля 2010 - 15:49
Это и есть кросс-доменные переходы. Но в режиме *chrome всё должно работать!Кстати о птичках :) давно уже подметил, что http://www.mail.ru при входе в ящик, отправляет запрос на httpS://auth.mail.ru, который при валидных логине и пароле, кидает вас в ящик на http://win.mail.ruТиповая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)
Вполне возможно из-за этих редиректов и возникают разного рода грабли...
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#8
Отправлено 03 февраля 2010 - 13:12
<tr>
<td class=checkb><input type="checkbox" name="id"></td>
<td><a href="ХХХ">test test</a></td>
<td><a href="ХХХ">Письмо 1</a></td>
</tr>
<tr>
<td class=checkb><input type="checkbox" name="id"></td>
<td><a href="ХХХ">test test</a></td>
<td><a href="ХХХ">Письмо 2</a></td>
</tr>
нужно в строке "Письмо 2" поставить галочку. Как?
#9
Отправлено 03 февраля 2010 - 14:50
Используйте локатор вида:нужно поставить галочку в нужный checkbox в одной строке с определенной ссылкой:
<tr>
<td class=checkb><input type="checkbox" name="id"></td>
<td><a href="ХХХ">test test</a></td>
<td><a href="ХХХ">Письмо 1</a></td>
</tr>
<tr>
<td class=checkb><input type="checkbox" name="id"></td>
<td><a href="ХХХ">test test</a></td>
<td><a href="ХХХ">Письмо 2</a></td>
</tr>
нужно в строке "Письмо 2" поставить галочку. Как?
xpath=(//input[@name='id'])[2]
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных