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

Фотография

Передача значения переменной при работе через COM


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

#1 Stanislav_alphaopen

Stanislav_alphaopen

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

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Васенков Станислав
  • Город:Москва

Отправлено 13 мая 2016 - 10:18

Запускаю скрипты testexecute через COM

Как передавать значение переменной?

Например, в функцию

function b(a) {
   Log.Message(a);
}

Ну и сам код (извините за vbs :)

Sub MySub
  ' Initialize variables
  sProjectNameFileName = "\\xxx\d\autotests\Autotests.pjs"
  sProjectName = "Autotests"
  Set cmdLine = Wscript.Arguments		
  sUnitName = cmdLine(0)
  sRoutineName = cmdLine(1)

  ' Checks if TestExecute is open
  Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  Set colItems = objWMIService.ExecQuery("Select * from Win32_Process WHERE Name = 'TestExecute.exe'") 
  
  ' Creates TestExecute object
  if colItems.Count = 0 then
	Set WshShell = WScript.CreateObject("Wscript.Shell")
	WshShell.Run Chr(34) & "C:\Program Files (x86)\SmartBear\TestExecute 11\Bin\TestExecute.exe" & Chr(34), 1, False
	WScript.sleep(5000)
  end if	
  
  ' Connects TestExecute object
  Set TestCompleteApp = GetObject(,"TestExecute.TestExecuteApplication.11")
  
  ' Opens the project
  If Not TestCompleteApp.Integration.IsProjectSuiteOpened Then
	TestCompleteApp.Integration.OpenProjectSuite sProjectNameFileName
  end if

  ' Runs the routine //Вот здесь нужно как-то передавать значение переменной
  TestCompleteApp.Integration.RunRoutine sProjectName, sUnitName, sRoutineName

  Set TestCompleteApp = nothing

End Sub

MySub

  • 0

#2 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 13 мая 2016 - 10:54

Вместо RunRoutine используйте RunRoutineEx. Там можно передать список параметров в виде массива.


  • 0

#3 Stanislav_alphaopen

Stanislav_alphaopen

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

  • Members
  • Pip
  • 68 сообщений
  • ФИО:Васенков Станислав
  • Город:Москва

Отправлено 13 мая 2016 - 14:24

Вместо RunRoutine используйте RunRoutineEx. Там можно передать список параметров в виде массива.

Выручаете, как всегда. Спасибо! :)


  • 0


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

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