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

Фотография

Загрузка страницы без рендеринга


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

#1 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 25 ноября 2010 - 12:16

Всем привет.

Есть задача открывать в браузере страницу без рендеринга, т.е. чтобы сразу открывался исходный код, без полной загрузки страницы.
Использую RC + JUnit + Java

Нашел такую вещь как view-source:
Пробую selenium.open("view-source:http://google.ru");
Но вместо этого команда open берет значение из конфига, хотя не должна этого делать, походу просто не понимает подобной записи.
Прописал в конфиге данную строчку - не работает, фреймворк наш сразу выдает исключение.


Есть ли какая-нибудь возможность прописать в адресную строку view-source:URL?
  • 0

#2 OVA

OVA

    Опытный участник

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 25 ноября 2010 - 12:36

А надо именно без рендеринга или просто выдрать код странички? Просто для последнего много, а первое мягко говоря не безопасно (селениум же через JS работает, а позволить с другого домена выдирать через JS код странички это просто дырищща), а потому обычными способами как правило не всегда достижимо.
Можно попробовать через XMLHttpRequest или же просто возвращать через скрипт в страничке все это добро.
  • 0

#3 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 25 ноября 2010 - 12:44

Всё правильно. Логика простая - "view-source:http://google.ru" воспринимается как относительный адрес и просто дописывается к текущему.
Selenium не в курсе фишек браузеров. Можно использовать метод selenium.getHtmlSource()
  • 0

#4 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 25 ноября 2010 - 13:17

А надо именно без рендеринга или просто выдрать код странички? Просто для последнего много, а первое мягко говоря не безопасно (селениум же через JS работает, а позволить с другого домена выдирать через JS код странички это просто дырищща), а потому обычными способами как правило не всегда достижимо.
Можно попробовать через XMLHttpRequest или же просто возвращать через скрипт в страничке все это добро.


Да, надо именно без рендеринга. Сам код страницы нам не нужен.
Задача состоит в том, чтобы загружать страницу максимально быстро, по этому и хочется без рендеринга.

Всё правильно. Логика простая - "view-source:http://google.ru" воспринимается как относительный адрес и просто дописывается к текущему.
Selenium не в курсе фишек браузеров. Можно использовать метод selenium.getHtmlSource()


Ясно, печально.
getHtmlSource не подходит по той причине, что надо ждать полной загрузки страницы. Нас это не устраивет =(
  • 0

#5 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 25 ноября 2010 - 13:48

а что если выполнять через RunScript
window.location.href  = "view-source:http://google.ru"

кстати, а для чего вам такие интересные телодвижения ? надеюсь не перфоманс решили таким способом измерять ?
  • 0

#6 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 25 ноября 2010 - 14:14

Разработчики захотели загрузить бд запросами некоторых страниц для отловки бага, а по скольку начальство кипятком писает от селениума, естественно это нужно сделать с помощью него...

Спасибо за идею, попробую капнуть в эту сторону.
  • 0

#7 popo_kid

popo_kid

    Активный участник

  • Members
  • PipPip
  • 79 сообщений

Отправлено 25 ноября 2010 - 14:20

интересно как у вас получиться иммитировать хотя бы 20 виртуальных пользователей ? с помощью 20 браузеров ? =)
советую все же настоять на использовании более удобных для нагрузочного тестирования тулзов, того же jmeter например
  • 0

#8 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 25 ноября 2010 - 14:27

Ну инструменты для этого у нас есть, это как раз не проблема =)
  • 0

#9 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 25 ноября 2010 - 15:35

popo_kid, спасибо, все заработало! =)

И всем остальным спасибо за помощь!
  • 0

#10 barancev

barancev

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

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


Отправлено 25 ноября 2010 - 21:22

Разработчики захотели загрузить бд запросами некоторых страниц для отловки бага, а по скольку начальство кипятком писает от селениума, естественно это нужно сделать с помощью него...

Уже не раз на форуме про это писал -- когда слышу такие истории всегда прихожу в искреннее недоумение.
Почему ради удовольствия начальства надо выбирать худший способ, даже если вы знаете лучший?
А что будет, если реализовать двумя способами, показать им оба, и объяснить, почему тот, который вы предлагаете -- лучше?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#11 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 26 ноября 2010 - 08:37

Уже не раз на форуме про это писал -- когда слышу такие истории всегда прихожу в искреннее недоумение.
Почему ради удовольствия начальства надо выбирать худший способ, даже если вы знаете лучший?
А что будет, если реализовать двумя способами, показать им оба, и объяснить, почему тот, который вы предлагаете -- лучше?


Не многим везёт с начальством, порой такие самодуры попадаются, что диву даешься. А так, что бы ещё и умели слушать и понимать, что им говорят - совсем мало.
  • 0

#12 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 26 ноября 2010 - 09:50


Разработчики захотели загрузить бд запросами некоторых страниц для отловки бага, а по скольку начальство кипятком писает от селениума, естественно это нужно сделать с помощью него...

Уже не раз на форуме про это писал -- когда слышу такие истории всегда прихожу в искреннее недоумение.
Почему ради удовольствия начальства надо выбирать худший способ, даже если вы знаете лучший?
А что будет, если реализовать двумя способами, показать им оба, и объяснить, почему тот, который вы предлагаете -- лучше?

Да просто у нас есть самописный фреймворк для запуска параллельных тестов, так что здесь проблем не возникает.
По поводу других инструментов: нам надо было оооочень срочно поймать этот баг (как всегда, еще "вчера"), так что время на изучение новых средств у меня не было, а тем более показывать и сравнивать. А сами разработчики естественно тестировали какими-то еще инструментами. Чем больше информации, тем лучше.
И, тут даже не в удовольствии начальства дело, просто оно в селениум очень уж верит =)
  • 0

#13 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 26 ноября 2010 - 11:55

Алексей, а что бы вы посоветовали из инструментов?
Допустим, чтобы посылать несколько разных запросов в определенном кол-ве. Что стоит посмотреть?
  • 0

#14 barancev

barancev

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

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


Отправлено 26 ноября 2010 - 11:58

И, тут даже не в удовольствии начальства дело, просто оно в селениум очень уж верит =)

Секта detected! :)

1. Selenium -- это круто? Selenium 2.0 -- это в два раза круче!
2. Опа, в 2.0 есть безбраузерный режим! Без рендеригна! Браузер в топку! Заработало в пять раз быстрее!
3. А что там внутри безбраузерного движка? О, все команды пересылаются в HtmlUnit! О, да он входит в состав дистрибутива Selenium 2.0! А давайте прямо в него команды отправлять, это же "часть selenium", так что всё честно:
WebClient webClient = new WebClient();
HtmlPage yandex = webClient.getPage("http://www.yandex.ru/");
4. Профит!
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#15 barancev

barancev

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

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


Отправлено 26 ноября 2010 - 12:01

И, кстати, если важна СКОРОСТЬ, то HtmlUnit далеко не самый быстрый движок, потому что он хоть и не рендерит, но парсит ответы от сервера. Можно и от этого избавиться -- http://hc.apache.org/ , правда там придётся написать не две строчки кода, а пять :)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#16 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 26 ноября 2010 - 12:17

Хорошая реклама 2.0 =) Спасибо!
Кстати, вроде еще недавно говорили, что он еще сырой?
  • 0

#17 barancev

barancev

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

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


Отправлено 26 ноября 2010 - 12:23

Хорошая реклама 2.0 =) Спасибо!
Кстати, вроде еще недавно говорили, что он еще сырой?

Сырой. Я и не предлагаю его использовать, я просто продемонстрировал, как можно, формально не отказываясь от Selenium, перейти к использованию HttpClient (который не сырой, и который входит в состав Se 2.0 просто как вспомогательная библиотека -- на нём реализован безбраузерный режим)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#18 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 26 ноября 2010 - 12:25

Ясно, спасибо =)
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных