[英]How do I run robot framework tests based on git commits?
我們正在開發一個Web應用程序,在其中運行機器人框架回歸測試。 我希望能夠基於git的標簽運行特定的機器人框架測試,因此我不必每次都運行完全回歸。
目前,我使用Jenkins執行Windows批處理命令。 我的第一項工作是從存儲庫中提取所有內容。
cd /d C:\home\(Repository here)
git pull --summary
我的第二項工作是運行指定的測試,當前是完全回歸測試。
robot -P C:\home\(Repository root here) C:\home\(Path to test cases)
有沒有一種方法可以基於git中的某些標簽運行特定的測試? 例如,運行“登錄”測試是因為有人推送了在其提交消息中具有[Login]標簽的提交。
這是一個測試套件的示例。
文件名= C:\\ home(Repo)\\ Regression \\ Common \\ Login \\ LoginTestSuite.txt
*** Settings ***
Documentation Login Test Suite
Suite Setup Suite Setup
Library SeleniumLibrary
Force Tags LoginTests
*** Test Cases ***
User A Login Test
[Documentation] This is documentation
[Tags] Requirement A
(Test Steps Here)
附加信息
機械手框架版本:3.0.4
應用程序前端:AngularJS
應用程序后端:C#
通過評論中的討論,您的目標是運行具有特定標簽的Robot Framework測試; 這些標記來自最新合並中的git標記(我們將它們稱為“ gtags” ,以區別兩者)。
一個通過--include
命令行選項基於標簽來指定要運行的案例; 因此,如果gtags包含“ LoginTests”,則只能像這樣運行它們:
robot -P C:\home\(Repository root here) --include logintests C:\home\(Path to test cases)
如果gtags都不止一個,說他們是(LoginTests, LogoutTests)
你可以追加更多--include
選項:
--include logintests --include logouttests
另一種選擇是將它們組合為單個include
參數-RF允許通過在值內部使用“ AND”,“ OR”和“ NOT” 布爾運算符來實現:
--include logintestsORlogouttests
使用“與”時,將僅選擇同時具有兩個標簽的案例,“或”-具有兩個標簽中的任何一個案例(聽起來像您的案例),“不”則否定后續邏輯。 這三個控制字符串區分大小寫 。
自然,為了使該方案起作用,gtag必須與您在測試用例中放置的gtag相同。 如果不是,則必須添加一些邏輯以將gtag映射到案例中的gtag(“登錄”->“ logintests”)。
RF中的標簽已標准化-轉換為小寫並刪除了所有空格; 對於RF "LoginTest" == "Login Test" == "login test" == "logintest"
(盡管不鼓勵使用空格-太容易將兩個放在源中,因此為案例分配了兩個單獨的標簽) 。 因此,不管來自gtags的大小寫形式是什么,如果標准化后的字符串相同,它們將被匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.