2015-05-28 59 views
0

當我運行量角器測試用例時,我得到了測試用例結果的下面的JSON響應,它以combined.json的形式存儲在一個文件中。如何從JSON文件獲取值到變量?

情況1:對於通過測試用例:

{"description":"tests the case when the login was successful|E2E test Login and search users with different search criteria", 
"passed":true, 
"os":"XP", 
"browser": chrome 
} 

情況2:對於失敗的測試用例:

{"description":"tests the case when the login was successful|E2E test Login and search users with different search criteria", 
"passed":false, 
"os":"XP", 
"browser": chrome 
} 

在上述情況下的測試結果存儲在passed JSON對象。

我正在HPALM中撰寫VAPI測試用例,爲此我需要通過測試用例狀態。我想將passed的值賦給一個變量。

回答

1

我不認爲有一個用於VBScript的JSON解析器,所以你必須自己解析這個文件。既然你有一個非常簡單的場景,使用正則表達式應該是罰款,但(提取特定鍵的值):

Set fso = CreateObject("Scripting.FileSystemObject") 

json = fso.OpenTextFile("C:\path\to\combined.json").ReadAll 

Set re = New RegExp 
re.Pattern = """passed"":(true|false)," 
re.IgnoreCase = True 

For Each m In re.Execute(json) 
    passed = CBool(m.SubMatches(0)) 
Next 
+0

感謝您的答覆。我們已經合併了您的(確切地說上面的)代碼,並在VAPI測試用例中的代碼之後添加到了下面的行中。 CurrentRun.Status =已通過。現在每個通過的變量都會給失敗的值。請你幫助我們獲得確切的狀態。謝謝! – Durgesh

+0

@Durgesh在將'assign'分配給'CurrentRun.Status'('MsgBox passed')之前,'passed'具有哪些值?什麼數據類型'CurrentRun.Status'預期?我的示例代碼將字符串轉換爲布爾值。 –

+0

我誤解了這一點。現在我能夠應用這個邏輯。謝謝你的幫助。 – Durgesh