Ниже представлен дизайн нашей 3-уровневой платформы QTP. Мой вопрос:сможет ли QTP выйти из текущего тестового сценария и запустить следующий тестовый скрипт (через сценарий главного драйвера) в случае многоуровневой архитектуры?
- QTP сможет выйти из текущего тестового сценария и запустить следующий тестовый скрипт (через скрипт главного драйвера), если ошибка возникает в Tier2 или Tier3?
- Есть ли какие-либо проблемы с кодом для мастер-скрипта, который я написал ниже. Мастер-скрипты выполняют индивидуальный тестовый скрипт и записывают состояние результата, время начала и время окончания в словарь, который, в свою очередь, записывается обратно на лист excel.
- Ребята вы видите какие-либо другие ограничения/улучшения этого дизайна? Пожалуйста, помогите!
Master Driver Script – Tier1
Function Master()
\t ‘Take the contents of the excel sheet which stores the path of the test scrip to be executed, status, start time and end time in a record set
Do While Not oRecSet.EOF
\t \t \t dicResultSet.Add rCnt, CreateObject (“Scripting.Dictionary”)
\t \t \t For Each oField In oRecSet.Fields
\t \t \t \t dicResultSet (rCnt).Add oField.Name, oField.Value
\t \t \t \t ‘Execute individual scripts
\t \t \t \t If oField.Name = “Path” Then
\t \t \t \t \t msQTPapp.Open oField.Value, True
Set qtTestScript = msQTPapp.Test
qtTestScript.Settings.Run.OnError = "NextStep"
strStartTime = Now
qtTestScript.Run
qtTestScript.Close
strEndTime = Now
\t \t \t \t End If
\t \t \t \t ‘Write the status of the last run script in the dictionary object
\t \t \t \t If oField.Name = “Status” Then
dicResultSet (rCnt).Item (“Status”)=_ qtTestScript.LastRunResults.Status
\t \t \t \t End If
\t \t \t \t ‘Write the start time of the last run script in the dictionary object
\t \t \t \t If oField.Name = “StartTime” Then
icResultSet (rCnt).Item (“StartTime”) = strStartTime
\t \t \t \t End If
\t \t \t \t ‘Write the end time of the last run script in the dictionary object
\t \t \t \t If oField.Name = “EndTime” Then
dicResultSet (rCnt).Item (“EndTime”) = strEndTime
qtTestScript = Nothing
\t \t \t \t End If
\t \t \t Next
\t \t \t oRecSet.MoveNext
\t \t \t rCnt= rCnt+1
\t \t Loop
'Write the status, start time and end time of the individual test scripts in an excel sheet
'Close the rec set and connection
End Function
Test Script: Action – Tier2
‘Associate the individual test script with Environmental files, OR and other function library
Function Test1()
\t ‘Call L1 from Function lib
\t ‘Call L2 from Function lib
End Function
Function Library– Tier3
Function L1()
\t ‘Actual task is getting done here
End Function
.
.
Function Ln()
\t ‘Actual task is getting done here
End Function
Как мы можем знать, что существует нулевой код, и нулевое описание того, что вы имеете в виду под «уровнем», и нулевое описание того, как ваш «главный» скрипт вызывает другие скрипты, в вопросе? – TheBlastOne
С «Tier» я имел в виду уровень, то есть поток от Tier1 (master sctipt) до Tier2 (тестовые скрипты) до (библиотеки функций). Мастер-скрипты будут извлекать путь к сценариям из листа excel (Test Suite.xls), используя Excel в качестве базы данных, и он будет храниться в словаре. MDS будет выполнять сценарии тестирования один за другим с помощью AOM. Время начала и окончания отдельных скриптов будет храниться в словаре и в конце MDS то же самое будет записано в листе Test suite.xls. – Jaidev
Мы до сих пор не писали полный код, мы все еще думаем о дизайне перед фактическим кодом. Так что просто подумали перекреститься, если мы пойдем в правильном направлении или нет? – Jaidev