Я работаю над интеграцией Selenium ALM. У меня есть сценарии, разработанные на Ruby, и я хочу запустить селеновые сценарии выполнения теста из HP ALM и записать результат выполнения теста обратно в HP ALM. Пожалуйста помоги мне с этим.
Сценарий Selenium Ruby и интеграция с HP ALM
Ответы (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