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

Фотография

Подбор Open-source решений для тестирования Web/IE


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

#1 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 04 марта 2005 - 18:40

Всем привет!

Встала задача подобрать набор open-source (или просто бесплатных) решений для тестирования Web-приложений (только HTML) в IE. Скрипты предполагается писать руками. Набор необходимых инструментов я себе представляю так:

1) Скриптовый движок (JScript, VBScript, ActiveScript Perl, ...)
2) Полноценный и при этом бесплатный IDE к п.1. Требования: полноценная отладка, интеграция с системами версионного контроля, autocomplete, COM/OLE object browser, проекты, средства редактирования на уровне SciTe, TextPad, etc. (Это всё, конечно, в идеале - минимально достаточно просто отладки и подсветки синтаксиса).
3) Spy, умеющий показывать все объекты DOM в открытых браузерах. Пока найдена чрезвычайно убогая но бесплатная примочка от Microsoft и платный IE DOM Explorer.
4) Framework (IE Driver), упрощающий работу с DOM в открытых браузерах. Пока:найдены IeUnit для JavaScript и Samie для Perl.

Вопрос, собственно следующий - приходилось ли кому-нибудь подбирать подобные набор средств, и насколько успешно. Ну, и здорово, если кто-то работал с IeUnit/Samie

Всем заранее огромное спасибо! ;)
  • 0
Best regards,
Майк.

#2 globe

globe

    Постоянный участник

  • Members
  • PipPipPip
  • 216 сообщений
  • ФИО:Богданова Ирина
  • Город:Москва


Отправлено 04 марта 2005 - 18:42

Может, я ошибаюсь, но такие продукты можно найти только на Горбушке... Но назвать их open-source у меня язык не повернется...
  • 0

#3 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 04 марта 2005 - 18:52

Это не совсем так. Собственно, отдельные "копоненты" искомого framework уже найдены. Так, если брать Perl, то получится: ActiveScript Perl +PerlIDE +Samie + Win32::GUITest + IE5 Web Developers Tools (от Microsoft). Только вот Perl я не знаю, и в возможностях SamIE несколько сомневаюсь. Да и IDE (так же как и Spy) хочется получше. Поэтому и спрашиваю: кто что пытался использовать?
  • 0
Best regards,
Майк.

#4 dlg99

dlg99

    Специалист

  • Members
  • PipPipPipPipPip
  • 609 сообщений
  • ФИО:Andrey Yegorov
  • Город:Redmond, WA

Отправлено 04 марта 2005 - 18:52

Selenium + DOM Inspector (built in the Mozilla's FireFox) + any IDE (emacs, visual studio, eclipse ... )


LoadTesting: OpenSTA
  • 0
Andrey Yegorov. Изображение

#5 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 04 марта 2005 - 19:01

Спасибо!
IDE нужно, повторюсь, поддерживающее скриптовые языки и позволяющие их отлаживать. А DOM Inspector, вроде, платный...?
  • 0
Best regards,
Майк.

#6 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 04 марта 2005 - 19:16

2dlg99: насчёт DOM Inspector, я, похоже перепутал платный аdd-in для IE с втроенным в FireFox (я правильно понял?). Здорово что есть бесплатный add-in для FF - обязательно попробую, Но, всё-таки, хотелось бы именно для IE.

Насчёт IDE, я, конечно, не являюсь спецом, но разве Eclipse и Visual Studio работают со скриптовыми языками?
  • 0
Best regards,
Майк.

#7 dlg99

dlg99

    Специалист

  • Members
  • PipPipPipPipPip
  • 609 сообщений
  • ФИО:Andrey Yegorov
  • Город:Redmond, WA

Отправлено 04 марта 2005 - 19:47

Но, всё-таки, хотелось бы именно для IE.
Насчёт IDE, я, конечно, не являюсь спецом, но разве Eclipse и Visual Studio работают со скриптовыми языками?

сильно-ли DOM будет отличаться для IE vs. FireFox?
Только если кто-то специально об этом позаботится Ж)

Visual Studio работает с JavaScript (в смысле - syntax highlighting, debugging).
Я, правда, только windows scripting host scripts отлаживал.
  • 0
Andrey Yegorov. Изображение

#8 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 05 марта 2005 - 06:54

Если говорить о Visual Studio, то она может работать со многими скриптовыми языками. Для этого нужно просто написать расширение того языка, который требуется (приведение типов данных и пр.). Поэтому уже многие компании выпустили свои расширения для разных языков.

Студия поддерживает свои родные скриптовые языки - JScript и VBScript. Причем в последних версиях JScript переведен в ранг JScript#, для него добавлен компилятор, появилась возможность использовать любой базовый класс .НЕТ и компилировать исполняемые файлы. Так что теперь он полноправный язык программирования.

Помимо выше перечисленного Студия имеет АСТ, что позволяет записывать, программировать и исполнять любые веб запросы (ну, или почти любые), как в среде разработки самой студии, так и при помощи АСТ. Кроме JScript и VBScript АСТ поддерживает Perl.

Но бесплатным такое решение можно назвать с большой натяжкой.
B)

Впрочем, если есть хорошие навыки программирования, то можно попробовать все писать в бесплатном редакторе среды разработки для .НЕТ, который поддерживает DOM (думаю, есть такие). Скрипты для АСТ могут быть созданы и выполнены в среде .НЕТ без непосредственного использования самого АСТ.
  • 0
Гринкевич Сергей

#9 barancev

barancev

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

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


Отправлено 05 марта 2005 - 08:51

Предлагаю такую комбинацию:

(1) Java
(2) Java IDE на выбор (Eclipse, IDEA, NetBeans, JBuilder, ...)
(4) Jiffie (http://jiffie.sourceforge.net/)
(3) Mouseover DOM Inspector, работает не только с IE, но и с Мозиллой и Оперой (http://slayeroffice....tools/modi.html)
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#10 Guriy

Guriy

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

  • Members
  • PipPipPipPip
  • 316 сообщений
  • Город:Киев, Украина

Отправлено 05 марта 2005 - 13:28

Ок, уговорили - выложу самописную тулзню, писаную под дотнетом, с примером использования.
Использут ВБ.нет как язык (если есть психи, то можно писать хоть на шарпе, хоть на цепепе) Тесты пишутся и подключаются как плагины.

2Case: На сервер ее можно будет выложить, или мне сайт делать на народ.ру? ;)
  • 0

#11 obvious

obvious

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

  • Members
  • Pip
  • 38 сообщений

Отправлено 09 марта 2005 - 10:27

Можно HtmlUnit попробовать использовать (http://htmlunit.sourceforge.net/). Т.е. получается:
1 Java
2 Eclipse, IDEA, etc.
3 HtmlUnit
  • 0

#12 barancev

barancev

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

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


Отправлено 09 марта 2005 - 12:44

Можно HtmlUnit попробовать использовать (http://htmlunit.sourceforge.net/).

HtmlUnit не подходит под условия задачи, драйвер должен работать с браузером, а не на уровне HTTP-протокола. В результате весь JavaScript и прочая клиентская логика в пролёте.
Если Java, то использовать нужно однозначно Jiffie -- http://jiffie.sourceforge.net/

Конечно, если отказаться от условия "движок должен работать с браузером" и опуститься на уровень протокола, тогда можно и HtmlUnit.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#13 obvious

obvious

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

  • Members
  • Pip
  • 38 сообщений

Отправлено 09 марта 2005 - 12:55

HtmlUnit отличается от HttpUnit-a, он имитирует работу браузера и умеет обрабатывать JavaScript. Хотя согласна: под условие задачи он все-таки не особо подходит.
  • 0

#14 barancev

barancev

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

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


Отправлено 09 марта 2005 - 12:57

HtmlUnit отличается от HttpUnit-a, он имитирует работу браузера и умеет обрабатывать JavaScript.

Это только кажется, что имитирует :)
Он обрабатывает JS по-своему, а каждый браузер -- по-своему.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#15 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 09 марта 2005 - 13:37

2Case: На сервер ее можно будет выложить, или мне сайт делать на народ.ру? ;)


Просто кидайте в меня с комментарием, что и куда.

Заодно таки открою раздел о которой Майк говорил и писал, а у меня всё руки не доходят :(
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#16 Guriy

Guriy

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

  • Members
  • PipPipPipPip
  • 316 сообщений
  • Город:Киев, Украина

Отправлено 09 марта 2005 - 15:33

ОК, на неделе сделаю, может ее от мусора еще почищу.

PS: Использование OLE тоже имитирует функциональное тестирование. На самом деле просто вызываются обработчики, а вот перемещений мыши, кликов, нажатий на кнопки нет. Ну и не все сделать можно.
  • 0

#17 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 10 марта 2005 - 08:33

Так, речь и шла именно об использовании OLE. Просто, не напрямую, а с помощью open-source библиотек.

К сожалению, для тестирования нашего приложения OLE использовать не удаётся - при попытке получить свойства фреймов (или любого дочернего элемента фреймов), следует неизменный Access Denied. Причём это случается как при работе с OLE IE напрямую, так и с использованием open-source библиотек. В чём дело - непонятно абсолютно :( - очень похоже на cross-frame security, но не из фреймов же мы скрипты вызываем? Да и вообще, как-то же все эти инструменты с другими приложениями с фреймами работают?!
  • 0
Best regards,
Майк.

#18 barancev

barancev

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

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


Отправлено 10 марта 2005 - 09:32

Ещё парочка предложений.

(1) Ruby
(4) Watir -- http://wtr.rubyforge.org/ (тоже IE через COM)

(1) JavaScript
(4) Selenium -- http://selenium.thou....com/index.html (тест выполняется в браузере в отдельном фрейме)

В пункте (3) однозначно Mouseover DOM Inspector -- http://slayeroffice....tools/modi.html
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#19 Guriy

Guriy

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

  • Members
  • PipPipPipPip
  • 316 сообщений
  • Город:Киев, Украина

Отправлено 10 марта 2005 - 10:50

Так, речь и шла именно об использовании OLE. Просто, не напрямую, а с помощью open-source библиотек.

К сожалению, для тестирования нашего приложения OLE использовать не удаётся - при попытке получить свойства фреймов (или любого дочернего элемента фреймов), следует неизменный Access Denied. Причём это случается как при работе с OLE IE напрямую, так и с использованием open-source библиотек. В чём дело - непонятно абсолютно :( - очень похоже на cross-frame security, но не из фреймов же мы скрипты вызываем? Да и вообще, как-то же все эти инструменты с другими приложениями с фреймами работают?!

Что-то подобное у нас тоже было.
Можно кусок кода, в котором исключение происходит?
  • 0

#20 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 10 марта 2005 - 12:35

2barancev:

Selenium не годится. Я его, конечно, не копал пока подробно, но
1. Насколько я понял, тесты там пишутся в XML (?). Это не скриптовый язык.
2. Слишком хитрый движок. И не факт что заработает с нашим, довольно-таки хитрым приложением - многофреймовым, частично на https:// и т п.
3. Вообще, хотелось не тул а библиотеку (типа ieHTML, WatIR)

Watir я попробовал. Похоже, это действительно лучшее из того, что я пока видел (Samie,ieHTML) - одна только объектная модель чего стоит! Только вот, бесплатный IDE для Ruby - FreeRIDE - просто ужасен. Кроме того, что он мало что умеет, он ещё и глючит - например, если exception в cкрипте не ловится, падает IDE. Хотя, может у меня просто руки кривые.

Кроме того, для Java есть некий Enterprise Web Test. Но его я не смотрел совсем.

2Guriy:

Что-то вроде: (деталей не помню)

<...Get IE somehow>
===
' Это упрощённый вариант функции. Вложенные фреймы игнорируются.

dim isReady,i

do
isReady = (IE.document.readyState="complete")
if isReady then
for i = 0 to IE.document.frames.length-1
isReady = isReady and (IE.documet.frames(i).document.readyState="complete")
next
end if
waitmsec 100
loop until isReady

===

Не уверен в конструкции .frames(i).document.readyState - (может, надо frames(i).readyState) - но я пробовал оба варианта.
  • 0
Best regards,
Майк.


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

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