簡體   English   中英

如何基於git commit運行機器人框架測試?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM