#batch-file #qtp #hp-uft
#пакетный файл #qtp #hp-uft
Вопрос:
Я создал кучу тестов UFT 12 (ex QTP), а также создал пакетный файл для запуска тестов тезисов.
Когда я запускаю пакетный файл в локальном режиме, тесты выполняются нормально.
Вот сценарий, который я использую :
Set qtpApp = CreateObject("QuickTest.Application")
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set qtpResObj = CreateObject ("QuickTest.RunResultsOptions")
qtpApp.Launch
qtpApp.Visible= true
sfolderPath = "C:QAManagerForOracleDB"
Set mainFolderObj = fsObj.GetFolder (sfolderPath)
Set testSubFolders = mainFolderObj.SubFolders
sPath = "C:amp;formatDateamp;"
For each folderobj in testSubFolders
chkfolderobj = folderObj.Path amp; "Action0"
if ( fsObj.FolderExists(chkfolderobj)) then 'The Folder is a QTP test folder'
qtpApp.Open folderObj.Path, True, False
sResultFolderPath = sPathamp;folderObj.Name amp; "Res" 'Set the results location'
qtpResObj.ResultsLocation = sfolderPath
qtpApp.Test.Run qtpResObj , True
strResult = qtpApp.Test.LastRunResults.Status
WScript.echo strResult
qtpApp.Test.Close
End if
Next
'Send Mail
qtpApp.Quit
'Release the file System objects
Set testSubFolders = Nothing
Set mainFolderObj = Nothing
Set fsObj = Nothing
Set qtpResObj= Nothing
Function formatDate ()
str= now ()
str=replace(str,"/","")
str=replace(str,":","")
str=replace(str," ","")
formatDate = mid (str,1,len(str-2))
End Function
Теперь я пытаюсь выполнить этот пакетный файл удаленно с помощью задания, которое его запускает.
Я столкнулся с двумя проблемами :
1-е: у меня появляется запрос на обнаружение интерактивных служб с всплывающим окном, в котором я должен нажать «Просмотреть сообщение», чтобы переключиться на другой экран, это проблема для меня, поскольку я хочу, чтобы UFT запускался автоматически без какого-либо взаимодействия с пользователем.
2-я проблема: при использовании этого скрипта UFT не запускается, даже когда я нажимаю на просмотр сообщения во всплывающем окне взаимодействия со службой.
Я искал в Интернете и нашел предложение сначала открыть UFT, поэтому я добавил этот фрагмент в начало скрипта выше :
dim commandLine, WshShell
' Define command line
commandLine = """C:Program Files (x86)HPUnified Functional TestingbinUFT.exe"""
Set WshShell = CreateObject("WScript.Shell")
' Start QTP via command line
WshShell.Run commandLine, 8, true
' Wait a while until QTP is loaded (here 10 secs)
WScript.Sleep 10000
set WshShell=nothing
С помощью этого скрипта UFT запускается после того, как я нажимаю на сообщение об обнаружении интерактивных служб, но тесты не запускаются.
Итак, чтобы возобновить мой вопрос, как я могу избежать обнаружения интерактивных служб и запустить UFT напрямую и как я могу запустить тесты после запуска UFT.
Спасибо
Комментарии:
1. В документации приведены примеры выполнения тестов с использованием интерфейса автоматизации. Обнаружение интерактивных служб позволяет мне поверить, что UFT был установлен с использованием другого пользователя, чем тот, который выполняет сценарий WSH, верно?
2. Тогда я посмотрю на эти документы. UFT был установлен другим пользователем, но я переустановил его с тем же пользователем, который сейчас запускает задание, но все еще сталкивается с проблемой интерактивных служб.
Ответ №1:
Вот как изменить пользователя в конфигурации DCOM на интерактивного.
- На компьютере, на котором вы хотите запустить сценарий автоматизации, выберите Пуск> Выполнить. Откроется диалоговое окно «Выполнить».
- Введите dcomcnfg и нажмите OK. Откроется диалоговое окно Свойств конфигурации распределенного COM или окно служб компонентов (в зависимости от вашей операционной системы), в котором отображается список приложений COM, доступных на компьютере.
- Выберите QuickTest Professional Automation из списка и откройте диалоговое окно Свойств приложения. (Нажмите кнопку «Свойства» или щелкните правой кнопкой мыши и выберите свойства, в зависимости от вашей операционной системы.)
- В диалоговом окне QuickTest Professional Automation Properties перейдите на вкладку Identity и выберите опцию interactive user.
Ответ №2:
Спасибо TheBlastOne за ваш комментарий, действительно, я просмотрел документы, и оказалось, что это проблема с конфигурацией DCOM, я изменил тип пользователя на интерактивный, что решило проблему.
Спасибо
Комментарии:
1. Похвала — это не ответ 😉
2. какие точные шаги вы предприняли, чтобы изменить тип пользователя на интерактивный?