Перейти к содержимому

Фотография

Selenium + Eclipse + TestNG


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Nereus

Nereus

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Игорь

Отправлено 01 февраля 2010 - 14:19

Не запускается тест в firefox
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");
}
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 01 февраля 2010 - 14:49

Для начала проверьте, что:
1) Селениум-сервер на указанном хосте с нужным портом запущен
2) Все окна браузера, под которым запускаются тесты, закрыты
Ну, и в selenium.open("/"); Все-таки попробуйте указать полный URL (это так, на всякий)
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 01 февраля 2010 - 15:21

Типовая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 Nereus

Nereus

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Игорь

Отправлено 02 февраля 2010 - 07:28

Для начала проверьте, что:
1) Селениум-сервер на указанном хосте с нужным портом запущен
2) Все окна браузера, под которым запускаются тесты, закрыты
Ну, и в selenium.open("/"); Все-таки попробуйте указать полный URL (это так, на всякий)


1) сервер запущен - он и показывает ошибку.
2) с закрытыми окнами и процессами тоже не работает. Следует отметить, что процесс firefox создается, но браузер не запускается. После того, как вылетает ошибка, - процесс не завершается и его приходится убивать ручками.
  • 0

#5 Nereus

Nereus

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Игорь

Отправлено 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/");

Единственное: в опере не грузится какая-то картинка. Выключаю загрузку изображений - все работает.
По этому поводу вопрос: как программно отключить загрузку изображений в браузере?
  • 0

#6 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 02 февраля 2010 - 15:00

Типовая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)

Кстати о птичках :) давно уже подметил, что http://www.mail.ru при входе в ящик, отправляет запрос на httpS://auth.mail.ru, который при валидных логине и пароле, кидает вас в ящик на http://win.mail.ru

Вполне возможно из-за этих редиректов и возникают разного рода грабли...
  • 0
Алексей Булат
Про Тестинг

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 02 февраля 2010 - 15:49

Типовая причина подобных ошибок -- кросс-доменные переходы. То есть скорее всего запрос на авторизацию отправляется на другой сайт, находящийся вне оригинального домена www.mail.ru
В режиме *iexplore так не будет работать, попробуйте *iehta или на крайний случай *iexploreproxy, авось поможет...
В режиме *firefox тоже не будет, а вот в режиме *chrome всё должно работать.
И даже работает, я проверил, запустив Вашу программку, пока писал ответ :)

Кстати о птичках :) давно уже подметил, что http://www.mail.ru при входе в ящик, отправляет запрос на httpS://auth.mail.ru, который при валидных логине и пароле, кидает вас в ящик на http://win.mail.ru

Вполне возможно из-за этих редиректов и возникают разного рода грабли...

Это и есть кросс-доменные переходы. Но в режиме *chrome всё должно работать!
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 Nereus

Nereus

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Игорь

Отправлено 03 февраля 2010 - 13:12

нужно поставить галочку в нужный 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" поставить галочку. Как?
  • 0

#9 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 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 гостей, 0 анонимных