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

Фотография

QTP>Небольшой regression testing framework


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

#1 Mike

Mike

    Консультант

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

Отправлено 07 ноября 2005 - 09:36

Публикую небольшой набор библиотек для регрессионного тестирования web-приложений в QTP.

Как уже неоднократно отмечалось, чекпойнты QTP плохо подходят для организации полноценного регрессионного тестирования по простой причине - с ними слишком много возни, их не встроишь в библиотеки, data-driven тесты и т.п. Конечно, полноценные чекпойнты должны быть конфигурируемыми, но для организации несложных регрессионных тестов можно пожертвовать гибкостью в пользу простоты. Выбран самый простой поход - данные элемента интерфейса во время Update Run копируются в текстовой файл, являющийся baseline. Во время прогона, актуальные данные сравниваются с baseline (и заодно сохраняются в отдельной папочке в Results Folder), результат сравнения в виде HTML-таблицы репортится в лог (как QTP Log, так и отдельный HTML log).

Публикуемый набор библиотек содержит чекпойнты для web-таблиц и web-форм, отдельных элементов интерфейса, текстовых переменных и массивов (1- и 2-х мерных) с репортингом в HTML. Используется ранее опубликованная библиотека "умного" сравнения массивов. Кроме того, в поставку входит UnitTest для проверки.

Кроме чекпойнтов и репортинга выкладываю функции для работы с Dictionary и вёб-формами.

Господа, ОЧЕНЬ нужен ваш фидбэк (в том числе по ранее опубликованным библиотекам и утилитам) :smile:

ВНИМАНИЕ: Опубликована новая версия с исправленными багами и добавленной функциональностью репортинга. Файл называется cpframework_v2.zip.

Прикрепленные файлы


Сообщение отредактировал Mike: 14 ноября 2005 - 15:34

  • 0
Best regards,
Майк.

#2 Mike

Mike

    Консультант

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

Отправлено 08 ноября 2005 - 12:48

Обнаружена злая редко проявляющаяся бага на сторчке №626 smartcheck_public.txt:

Сейчас:

valstr="<B>" & Headers2(cMapping31(i)) &"</B>"

Должно быть:
valstr="<B>" & Headers2(cMapping32(i)) &"</B>"

  • 0
Best regards,
Майк.

#3 Mike

Mike

    Консультант

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

Отправлено 14 ноября 2005 - 08:35

К сожалению, как было выяснено, многие функции моего framework не работают в QTP 8.2 из-за проблем с ChildObjects в восьмёрке и изменившейся имплементацией коллекции Environment.

Таким образом, библиотеки предназначены для работы с QTP 6.5. Версии для восьмёрки пока не планируется. Версия с исправленными багами и добавленой функциональностью репортинга (логгинг HTML с навигацией) планируется.

Update: Проблема с ChildObjects была решена в одном из последних патчей для QTP 8.2. Для решения проблемы с Environment см. мой последний пост

Сообщение отредактировал Mike: 29 декабря 2005 - 13:11

  • 0
Best regards,
Майк.

#4 Mike

Mike

    Консультант

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

Отправлено 14 ноября 2005 - 15:43

Опубликована новая версия Framework (cpframework_v2.zip) - cм. первое сообщение темы.

Исправлено большое количество багов в библиотеке smartcheck. Репортинг HTML значительно расширен - теперь лог включает в себя фрейм с "Оглавлением" (a-la Word 'Структура документа'), ссылки из него ведут в правый фрейм (который раньше был единственным). Так же исправлен ряд шероховатостей репортинга. Имена библиотек были изменены.
  • 0
Best regards,
Майк.

#5 Mike

Mike

    Консультант

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

Отправлено 29 декабря 2005 - 13:07

Как выяснилось, framework можно использовать с QTP 8.2 (после установки всех патчей - один из последних лечит проблему с ChildObjects). Для этого:

В файле "cpframework.vbs" замените процедуру
public Sub Environment_InitVar(varname,default_val)

Следующим кодом:

private qtp_82
qtp82=true

public Sub Environment_InitVar(varname,default_val)
	if qtp_82 then
  if isEmpty(Environment.Value(varname)) then
  	Environment(varname)=default_val
  end if
	else
  Execute("dim tmp_var:tmp_var=empty:On Error resume next:tmp_var=Environment.Value("""&varname&"""):On Error goto 0:if isEmpty(tmp_var) then Environment("""&varname&""")="&var4eval(default_val)&":tmp_val=empty:")
	end if	
End Sub

  • 0
Best regards,
Майк.

#6 Anthony_BY

Anthony_BY

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

  • Members
  • Pip
  • 29 сообщений
  • Город:Минск

Отправлено 24 января 2008 - 14:48

150 скачиваний и не одной благодарности. :blush:
Спасибо за хороший скрипты, есть к чему стремится :)
  • 0

#7 pavel_kravts

pavel_kravts

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Кравцов Павел
  • Город:Москва

Отправлено 18 марта 2009 - 08:51

Опубликована новая версия Framework (cpframework_v2.zip) - cм. первое сообщение темы.

Исправлено большое количество багов в библиотеке smartcheck. Репортинг HTML значительно расширен - теперь лог включает в себя фрейм с "Оглавлением" (a-la Word 'Структура документа'), ссылки из него ведут в правый фрейм (который раньше был единственным). Так же исправлен ряд шероховатостей репортинга. Имена библиотек были изменены.


Подскажите пожалуйста каким образом открыть Ваш набор библиотек?
Что делать с файлами в архивах?
Пользуюсь QTP 9.2
  • 0


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

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