
Tesults - 整合您的自動化測試
Tesults 提供了可用於整合各種語言的庫,包括:
- Python
- Node.js / JS
- Java
- C#
- Ruby
- Go
還提供了一個 REST API。要上傳測試生成的資料和檔案,必須使用其中一個庫。
無需程式碼整合
對於某些測試框架,可以使用提供的特定於測試框架的庫進行無需任何程式碼的整合。
無需程式碼即可整合的測試框架包括:
- pytest
- Robot Framework
- Jest
- Mocha
- JUnit5
- NUnit 3
所有這些庫的整合過程都類似。
安裝外掛
在您的測試專案中,安裝相關的 Tesults 外掛。例如,如果您使用的是 pytest,則可以使用“pip install tesults”,然後使用“pip install pytest-tesults”。如果您使用的是 Mocha,則可以使用“npm install mocha-tesults-reporter –save”。請參閱 Tesults 網站上您測試框架的相應命令。
配置外掛
有些外掛不需要配置即可立即使用,有些外掛需要少量配置。例如,在 pytest 的情況下,不需要額外的配置,它可以直接使用。
在 Mocha 的情況下,需要對“mocha”呼叫進行少量更改,具體來說需要指定 reporter,“mocha --reporter mocha-tesults-reporter”。請參閱 Tesults 網站以瞭解您正在使用的框架的具體配置,但通常情況下,配置只需要一行更改或無需更改。
傳遞引數
需要向外掛傳遞一個必需引數和其他可選引數。必需引數是提供 Tesults 目標令牌。此令牌在上一個教程頁面中為預設目標生成的。如果您沒有此令牌,可以在 Tesults 的配置選單中獲取新令牌。單擊配置選單中的“重新生成目標令牌”。
如何傳遞引數取決於您的測試框架和外掛。例如,在 pytest 中,它可以在 pytest 呼叫中提供“pytest --tesults-target token_value”,或者使用配置檔案。對於 Mocha,它類似,可以在 mocha 呼叫中傳遞“mocha * --reporter mocha-tesults-reporter --tesults-target=token”,或者可以在配置檔案中傳遞。
目標令牌是唯一必需的引數,還有用於傳遞構建資訊和檔案上傳的可選引數。有關您測試框架的引數的具體資訊,請參閱 Tesults 網站。
執行測試
執行您的測試,結果現在將提交到 Tesults。
程式碼整合
如果您使用的是自定義測試框架或 Tesults 沒有特定庫或外掛的測試框架,則需要使用其中一個語言框架。
在這裡,我們將瞭解 Python 整合涉及的內容。其他語言的整合過程非常相似,請參閱 Tesults 網站以瞭解您的程式語言的具體詳細資訊,但請先按照本教程操作以瞭解流程:
安裝庫
對於 Python,命令如下:
pip install tesults
對於其他語言,該過程類似,對於 JS 測試框架,您可以從 npm 安裝庫,對於 Java,您可以使用 Gradle 或 Maven,對於 C#,軟體包託管在 NuGet 上,Ruby 可將其作為 gem 使用。
配置庫
對於 Python,配置僅涉及在您要使用庫的任何模組中require ‘tesults’。同樣,其他語言也需要類似的配置。請參閱 Tesults 網站以瞭解您的程式語言的具體配置。
對映測試資料
此步驟是無需程式碼外掛允許您避免的操作。對於基於程式碼的整合,您必須將測試資料對映到 Tesults 測試資料。
對於 Python,這意味著將每個測試用例結果轉換為 Python 字典:
{ 'name': 'Tutorial 1', 'desc':'Tutorial 1 .', 'suite': 'Tutorials Point', 'result': 'fail', 'reason': 'Assert fail in line 102, tutorialspoint.py', 'files': ['full-path/log.txt', 'full-path/screencapture.png'], '_CustomField': 'Custom field value' }
名稱和結果是必需的。其他所有內容都是可選的。結果必須是“pass”、“fail”或“unknown”之一。
套件很有用,因為它有助於在檢視結果時對測試用例進行分組,並有助於避免名稱衝突。應為失敗的測試用例提供原因。
檔案有助於確保日誌和其他測試檔案被儲存,並且可以與它們所屬的測試用例一起檢視。
您還可以擁有任意數量的自定義欄位;它們必須以下劃線 (_) 字元開頭。對於每個測試用例,都以這種方式構建字典,並將它們儲存在陣列中。
上傳結果
要上傳結果,每個庫都提供一個結果上傳函式。在 Python 的情況下,您需要呼叫以下內容:
tesults.results(data)
其中 data 引數如下:
data = { ‘target’: ‘token’, ‘results’: { ‘cases’: [<your test cases>] } }
cases 陣列是在上一節中建立的陣列。
對於其他程式語言,該過程完全相同,只是語法有所更改。
幫助
Tesults 網站提供了一種在需要時請求整合幫助的方法。
後續步驟
此時,整合已完成,我們可以檢視如何檢視、分析和根據測試結果採取行動。