Сценарий Selenium Ruby и интеграция с HP ALM

Я работаю над интеграцией Selenium ALM. У меня есть сценарии, разработанные на Ruby, и я хочу запустить селеновые сценарии выполнения теста из HP ALM и записать результат выполнения теста обратно в HP ALM. Пожалуйста помоги мне с этим.


person Brenda    schedule 16.04.2018    source источник


Ответы (1)


Я думаю, ваш лучший вариант - это

  • создать тест типа VAPI-XP-TEST (это необходимо указать при создании теста, так как позже его нельзя будет изменить)
  • Затем вам необходимо указать язык сценария (VBScript - также хороший вариант)
  • Затем вам необходимо указать тип теста, который в вашем случае, вероятно, является тестом консольного приложения, другие варианты: Тест сервера COM / DCOM, Тест класса Java, Веб-служба (Soap), Тест.
  • Затем оставьте "Исполняемый файл приложения" пустым.

Вышеупомянутая последовательность создаст начальный скрипт

Ниже приведен пример тестового сценария (сторона ALM), созданного с помощью вышеуказанного метода, в котором я добавил код для запуска (см. ДОБАВЛЕННЫЙ КОД ниже) внешней программы (ruby.exe)

' vbscript [VBScript]
' Created by Application Lifecycle Management
' 4/20/2018 16:34:54
' ====================================================


' ----------------------------------------------------
' Main Test Function
' Debug - Boolean. Equals to false if running in [Test Mode] : reporting to Application Lifecycle Management
' CurrentTestSet - [OTA COM Library].TestSet.
' CurrentTSTest - [OTA COM Library].TSTest.
' CurrentRun - [OTA COM Library].Run.
' ----------------------------------------------------
Sub Test_Main(Debug, CurrentTestSet, CurrentTSTest, CurrentRun)
  ' *** VBScript Limitation ! ***
  ' "On Error Resume Next" statement suppresses run-time script errors.
  ' To handle run-time error in a right way, you need to put "If Err.Number <> 0 Then"
  ' after each line of code that can cause such a run-time error.
  On Error Resume Next

  ' clear output window
  TDOutput.Clear

  ' TODO: put your code here
  ' === CODE ADDED START === 
  strCommandLine = "C:\\<pathtoyour ruby interpreter>\\bin\\ruby.exe c:\\test.rb" &  CurrentTSTest.name
  Set wshShell = CreateObject("WScript.Shell")
  iReturn = wshShell.Run(strCommandLine, 1, True)
  if iReturn = -1 then
    CurrentRun.Status = "Failed"
    CurrentTSTest.Status = "Failed"
  else
    CurrentRun.Status = "Passed"
    CurrentTSTest.Status = "Passed"
  end if
  ' === CODE ADDED END ===     

  If Not Debug Then
  End If
  ' handle run-time errors
  If Err.Number <> 0 Then
    TDOutput.Print "Run-time error [" & Err.Number & "] : " & Err.Description
    ' update execution status in "Test" mode
    If Not Debug Then
      CurrentRun.Status = "Failed"
      CurrentTSTest.Status = "Failed"
    End If
  End If
End Sub

Выше приведен пример для VBScript, где ваш фактический сценарий selenium - c: \ test.rb (см. Код выше)

Затем вам нужно создать тестовый экземпляр в тестовой лаборатории и выбрать этот тест для запуска.

пример test.rb

puts "running the script #{ARGV[0]}"
# put your test code here 
# in the end exit -1 => failure or 0 success
exit -1
#exit 0

Вы можете использовать один и тот же test.rb или разные, в зависимости от ваших потребностей. Я протестировал вышеуказанную настройку, и она у меня работает (ALM 12.53)

Удачи :)

person kirkytullins    schedule 20.04.2018