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

Фотография

ОО свойства языка VBScript для Mercury QTP


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

#1 pavel_kravts

pavel_kravts

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

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

Отправлено 17 марта 2009 - 16:22

Уважаемые коллеги,

Какими объектно-ориентированными свойствами языка Visual Basic Script Вы пользуетесь при написании тестовых сценариев и насколько оправдано использование ОО подхода?
  • 0

#2 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 17 марта 2009 - 17:24

Уважаемые коллеги,

Какими объектно-ориентированными свойствами языка Visual Basic Script Вы пользуетесь при написании тестовых сценариев и насколько оправдано использование ОО подхода?

Мы пользуемся единственно возможным свойством свойством данного языка - создаем свои классы :)
Применение оправдано, если понимать в каждом конкретном случае смысл использования классов.
Мы используем классы для обработки больших таблиц данных, для сравнения элементов, для хранения данных, для реализации стека вызовов, для реализации "событийной" модели синхронизации. Разрабатываем фреймворк для репортинга, основанный на классах.
Плюс есть конкретный фреймворк для приложения весь построенный на классах (Приложение представляет собой воркфлоу с несколькими сценариями перехода между экранами в зависимости от действий пользователя. Классы используются для управления сценариями, хранения состояний экрана, вызова проверок)

Также, использование классов - это единственный метод передать "функцию" в качестве параметра (создание классов с единственным методом)
  • 0

#3 dlg99

dlg99

    Специалист

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

Отправлено 17 марта 2009 - 18:29

Также, использование классов - это единственный метод передать "функцию" в качестве параметра (создание классов с единственным методом)


а вот так разве не работает:
function buildmsg(byval name)
 buildmsg = "Hello, " + name + "!"
end function

function test(byval funcname, byval name)
  set fp = GetRef(funcname)
  msg = fp( name )
  msgbox(msg)
end function

test "buildmsg", "Vasya"

в Windows Scripting Host работает.
QTP, вроде бы, его же интерпретатор использует.
  • 0
Andrey Yegorov. Изображение

#4 ch_ip

ch_ip

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

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 17 марта 2009 - 19:02

Также, использование классов - это единственный метод передать "функцию" в качестве параметра (создание классов с единственным методом)


а вот так разве не работает:
function buildmsg(byval name)
 buildmsg = "Hello, " + name + "!"
end function

function test(byval funcname, byval name)
  set fp = GetRef(funcname)
  msg = fp( name )
  msgbox(msg)
end function

test "buildmsg", "Vasya"

Работает!
Спасибо, dlg99.
Воистину, век живи, век учись.
Раньше не знал об этой функции, и ни на одном из ресурсов, посвященных qtp, не встречал ее использования.
Все-таки, MSDN надо обновлять! - У меня до прошлой недели стояла версия 2005 года. Там не было этой функции.
  • 0


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

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