Lời mở đầu
Tiếp tục series integrate với Jenkins. Trong bài này mình sẽ guide các bạn cơ bản về việc Automation Testing với Jenkins, ứng dụng Cucumber Plugin
Vô việc
Install Cucumber Plugin
Vào Manage Jenkins >> Manage Plugin >> Available. Tìm cucumber và install mớ cucumber như Cucumber json test reporting, Cucumber reports, cumcumber-perf. Do mình đã cài rồi nên sẽ hiện thị ở tab Installed như trên.
Create Jenkins job
Mình sẽ chọn Pipeline. Vì đây là loại ưu thích của mình thôi, các bạn cũng có thể chọn Freestyle project.
Add Jenkins scripts
pipeline { agent any stages { stage('Checkout') { steps { checkout([ $class: 'GitSCM', branches: [ [ name: 'main' ] ], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', timeout: 240],[$class: 'CleanBeforeCheckout']], // extensions: [[$class: 'CloneOption', timeout: 240]], submoduleCfg: [ ], userRemoteConfigs: [ [ credentialsId: '3de43539-714b-4bac-b5e0-31007a0e3c28', url: 'https://github.com/taminhhieu31gl/jenkins-example-cucumber.git' ] ] ]) echo "checkout" } } stage('Run Tests') { steps { bat './mvnw clean test' } post { always { junit '**/surefire-reports/*.xml' cucumber buildStatus: 'null', customCssFiles: '', customJsFiles: '', failedFeaturesNumber: -1, failedScenariosNumber: -1, failedStepsNumber: -1, fileIncludePattern: 'target/cucumber.json', pendingStepsNumber: -1, skippedStepsNumber: -1, sortingMethod: 'ALPHABETICAL', undefinedStepsNumber: -1 } } } } }
Giải thích chút nhé, để chạy được bạn cần thay cái credentials github của bạn, link git thì có thể lấy cái demo đó của mình để chạy thử. Trong code github, team tester đã code sẵn các feature test (jenkins-example-cucumber/src/test/resources/com/planetpope/cucumber), và mình sẽ dùng “./mvnw clean test” để thực thi các feature đó. Và cuối cùng post always để cho cucumber đọc file report và xuất ra UI của cucumber.
Kết quả
Tổng quan sẽ trông như này, màu đỏ tức là có test case fail. Còn xanh thì là đã pass hết test case.
Ta có thể chọn vào “Cucumber Report” để xem giao diện cho trực quan nhé. Kết bài, chúc các bạn thành công