Взаимодействие скриптов из разных проектов
#1
Отправлено 21 сентября 2010 - 14:22
теперь сама суть.
как у порядочного ООПшника во мне сразу проснулось желание делать объектную модель в меру возможностей скриптовых языков.
структура съюита:
проект с основными, часто используемыми скриптами
проект для запуска всего хлама
проекты со скриптами конкретных тестов
проблема:
из проекта для запуска всего хлама будут запускаться скрипты с тестами. тянуть все необходимые файлы нет желания (как их шарить я уже разобрался), так как пропадает весь смысл разбивать съюит на проекты. можно-ли как-то "подключать" скрипты из разных проектов или сами проекты аля .dll?
TC 7.52
#2
Отправлено 21 сентября 2010 - 15:32
- В проекте A делаете Add Existing Item и импортируете скрипт из проекта B.
- В скрипт проекта A добавляете USEUNIT-ссылку на импортированный скрипт (см. Calling Routines and Variables Declared in Another Unit).
- Profit!
#3
Отправлено 21 сентября 2010 - 15:41
профита нет, так как с помощью "Add Existing Item" файл все равно переносится в проект А (хотя и по ссылке). а очень не хочется захламлять проект А левыми файлами. но выбора, видимо, нет :/Если проекты используют один и тот же скриптовый язык, то так можно сделать:
- В проекте A делаете Add Existing Item и импортируете скрипт из проекта B.
- В скрипт проекта A добавляете USEUNIT-ссылку на импортированный скрипт (см. Calling Routines and Variables Declared in Another Unit).
- Profit!
#4
Отправлено 21 сентября 2010 - 17:13
#5
Отправлено 21 сентября 2010 - 21:10
интерфейс программы на чем написан?
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#6
Отправлено 22 сентября 2010 - 06:29
объемное приложение с кучей графических элементов, .net3.5 и компоненты devcomponents. TC используется для написания регрессионных тестов которые будут запускаться между выкаткой новой версии и передачей её QA.
#7
Отправлено 22 сентября 2010 - 13:20
1.JPG 13,6К 21 Количество загрузок:
пример с http://www.automated...ngutils-object/ работет.
тело скрипта, JScript.
// filename.sj function Run(app) { try { if (app == null) return; app.Close(); app.Run(); } catch(exception) { Log.Error("Exception", exception.description); } } //пробовал возвращать просто что-то, а не приложение из TestedApps. все равно вываливается function GetApp() { try { var app = TestedApps["testedAppName"]; return app; } catch(exception) { Log.Error("Exception", exception.description); } } function RunTestedApp() { try { var app = GetApp(); if (app == null) return null; app.Close(); app.Run(); return app; } catch(exception) { Log.Error("Exception", exception.description); } }
#8
Отправлено 22 сентября 2010 - 17:59
Сдаётся мне что проблема в кодировке. Если ваши файлы со скриптами сохранены в Unicode - пересохраните их в ANSI.
Дмитрий
#9
Отправлено 23 сентября 2010 - 08:47
да, он был в юникоде.
а вот этот метод прокатит, если его запускать через script extension? как я понял, TestedApps фишка чисто TestComplete'а =) сообразит-ли скрипт откуда вытаскивать приложение? естественно, при условии запуска всего съюита из ТС.
function GetApp() { try { var app = TestedApps["testedAppName"]; return app; } catch(exception) { Log.Error("Exception", exception.description); } }
#10
Отправлено 23 сентября 2010 - 10:46
Objects Available to Script Extensions
TestedApps там нет.
#11
Отправлено 21 октября 2010 - 15:53
#12
Отправлено 25 октября 2010 - 08:43
Всё должно работать.
Дмитрий
#13
Отправлено 25 октября 2010 - 09:15
#14
Отправлено 22 ноября 2010 - 11:38
Нет, в рамках одного проекта может быть использован только один язык. Исключением могут считаться Script Extensions - их можно подключать в любом проекте, но они могут быть написаны только на JScript или VBScript.
Дмитрий
#15
Отправлено 30 января 2012 - 10:57
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных