2016-09-05 16 views
5

có ai cố gắng để thất bại công việc Jenkins chạy khi Gatling khẳng định không đáp ứng hoặc nếu yêu cầu thất bại?Làm thế nào để mang lại công việc jenkins thất bại khi Gatling tải kiểm tra kém hơn

Ví dụ:

  • dấu một Jenkins xây dựng như không ổn định khi toàn cầu có nghĩa là giá trị cho percentile thứ 95 đang được một giá trị cụ thể, nói 1,2 giây cho thời gian đáp ứng
  • đánh dấu một Jenkins xây dựng như thất bại nếu một số phần trăm yêu cầu nhất định không được trả lời

Có ai có ý tưởng về cách thức này có thể đạt được bằng các plugin Maven/Jenkins hiện có cho Gatling không.

thiết lập maven Plugin của tôi là:

   <plugin> 
        <groupId>io.gatling</groupId> 
        <artifactId>gatling-maven-plugin</artifactId> 
        <version>${gatling.version}</version> 
        <configuration> 
         <failOnError>true</failOnError> 
         <simulationsFolder>src/test/scala</simulationsFolder> 
         <runMultipleSimulations>true</runMultipleSimulations> 
         <configFolder>src/main/resources</configFolder> 
        </configuration> 
        <executions> 
         <execution> 
          <id>GoOrBust</id> 
          <phase>test</phase> 
          <goals> 
           <goal>execute</goal> 
          </goals> 
          <configuration> 
           <simulationClass>mine.OnePunch</simulationClass> 
           <failOnError>true</failOnError> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 

các <failOnError>true</failOnError> sẽ chỉ ảnh hưởng đến thế hệ báo cáo nhưng không phải là Jenkins Job (rõ ràng).

Tôi không muốn ném ngoại lệ một cách rõ ràng từ bên trong các thử nghiệm bằng cách thực hiện theo dõi/xử lý ngoại lệ tùy chỉnh.

giải pháp

Trả lời

3
  1. Gatling cụ thể: bạn cần phải xác định một global assertion trong kịch bản Gatling của bạn như:

    setUp(scn.inject(...)) 
        .protocols(httpProtocol) 
        .assertions(
         global.successfulRequests.percent.greaterThan(99) 
    ) 
    
  2. Alternative. Bạn có thể xem xét chạy kịch bản Gatling của mình bằng cách sử dụng công cụ Taurus làm trình bao bọc. Nó có thể tiêu thụ các thử nghiệm Gatling hiện có và áp dụng linh hoạt Pass/Fail Criteria cho chúng. Trong trường hợp lỗi kích hoạt Taurus sẽ trả về mã thoát không phải do đó công việc Jenkins sẽ thất bại.

Các vấn đề liên quan