Запуск модуля Canoe Test с использованием VBScript - PullRequest
0 голосов
/ 06 сентября 2018
TestModule.Stop()
While TMExecuting
   WScript.Sleep(200)
Wend

Sub TestModule_OnStop(reason)
TMExecuting = False
  Select Case (reason)
    Case 0
      MsgBox "Test module was executed completely."
    Case 1
      MsgBox "Test module was stopped by the user."
    Case 2
      MsgBox "Test module was stopped by measurement stop"
  End Select
End Sub

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

TestModule.Start()
    While (Not TMStarted)
        WScript.Sleep(200)
        LogFile.WriteLine "Test started"
    wend    

    While (TMExecuting)
        WScript.Sleep(500)
        LogFile.write("Value of TMExecuting is:" & TMExecuting)
        LogFile.WriteLine "CANoe test is running"
    Wend

После завершения 1-го тестового модуля TMExecuting должно быть false, что делается в

Sub TestModule_Onstop(reason)
  TMExecuting = False
  TMStarted   = False
  Select Case (reason)
    Case 0
      MsgBox "Test module was executed completely."
    Case 1
      MsgBox "Test module was stopped by the user."
    Case 2
      MsgBox "Test module was stopped by measurement stop"
  End Select
  LogFile.WriteLine " CANoe test is finished"
End Sub

Но это не становится ложным из-за того, что второй тестовый модуль не запускается. Если у кого-нибудь есть решение, пожалуйста, помогите. Я хочу запустить несколько тестовых модулей и тестовую среду в одной конфигурации конфигурации Canoe с использованием VBScript.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Я думаю, это должно быть

Sub TestModule_OnStop(reason)

С заглавной буквы S в Стопе

VB чувствителен к регистру.

0 голосов
/ 06 сентября 2018

Это то, что я сделал.

Meas.Start()
stApp = True
While (Not MeasStarted)
    WScript.Sleep(500)
    'LogFile.WriteLine "Measurement not yet started"
Wend

While Counter <= 2
    Set TestModule = App.Configuration.TestSetup.TestEnvironments.Item(1).Items(Counter)

    WScript.ConnectObject TestModule, "TestModule_"

    TestModule.Start()
    While (Not TMStarted)
        WScript.Sleep(200)
        'LogFile.WriteLine "Test started"
    wend    

    While (TMExecuting)
        WScript.Sleep(500)
        'LogFile.WriteLine "CANoe test is running"
    Wend

    TestModule.Stop()
    Counter = Counter + 1
    'LogFile.write("The Current Value of the Counter is : " & Counter)
Wend

Meas.Stop()
    'LogFile.WriteLine "Request to stop the CANoe measurement"
    While MeasStarted
    WScript.Sleep(200)
Wend

App.quit
'LogFile.WriteLine "Request to close CANoe"
WScript.Sleep(200)
'LogFile.WriteLine "CANoe has been closed"
WScript.Sleep(200)

Sub Meas_OnStart()
  MeasStarted = True
  LogFile.WriteLine " CANoe measurement is running"
End Sub

Sub Meas_OnStop()
  MeasStarted = False
  LogFile.WriteLine " CANoe measurement is stopped"
End Sub

Sub TestModule_OnStart()    
  TMStarted = True
  TMExecuting = True
  LogFile.WriteLine " CANoe test is started"
End Sub

Sub TestModule_Onstop(reason)
  TMExecuting = False
  TMStarted   = False
  LogFile.WriteLine " CANoe test is finished"
End Sub

Sub App_OnQuit()
  stApp = False
  LogFile.WriteLine " Closing CANoe"
End Sub

Эти шаги выполняются после открытия конфигурации каноэ.

...