Удаленный запуск тестов UFT (QTP) с помощью пакетного файла.

#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 на интерактивного.

  1. На компьютере, на котором вы хотите запустить сценарий автоматизации, выберите Пуск> Выполнить. Откроется диалоговое окно «Выполнить».
  2. Введите dcomcnfg и нажмите OK. Откроется диалоговое окно Свойств конфигурации распределенного COM или окно служб компонентов (в зависимости от вашей операционной системы), в котором отображается список приложений COM, доступных на компьютере.
  3. Выберите QuickTest Professional Automation из списка и откройте диалоговое окно Свойств приложения. (Нажмите кнопку «Свойства» или щелкните правой кнопкой мыши и выберите свойства, в зависимости от вашей операционной системы.)
  4. В диалоговом окне QuickTest Professional Automation Properties перейдите на вкладку Identity и выберите опцию interactive user.

Ответ №2:

Спасибо TheBlastOne за ваш комментарий, действительно, я просмотрел документы, и оказалось, что это проблема с конфигурацией DCOM, я изменил тип пользователя на интерактивный, что решило проблему.

Спасибо

Комментарии:

1. Похвала — это не ответ 😉

2. какие точные шаги вы предприняли, чтобы изменить тип пользователя на интерактивный?