2012-07-30 18 views

Trả lời

49

Run dưa chuột với định dạng chạy lại:

cucumber -f rerun --out rerun.txt 

Nó sẽ địa điểm đầu ra của tất cả các thất bại trong tình huống để tập tin này.

Sau đó, bạn có thể chạy lại chúng bằng cách sử dụng

cucumber @rerun.txt 
+0

nó có anyway đặt tất cả trong một dòng cmd? –

+0

Bạn có thể sử dụng lệnh cào để chạy cả lệnh dưa chuột. Sau đó bạn có thể gọi tập tin cào là: các tính năng cào: jenkins_with_rerun – Ezetha

+3

Bạn có thể sử dụng && để đặt tất cả trong một dòng cmd (nếu bạn muốn bắt đầu và bỏ đi) cucumber -f rerun --out rerun.txt && dưa chuột @ rerun.txt –

3

Đây là giải pháp đơn giản và gọn gàng của tôi.

Bước 1: Viết tệp java dưa chuột của bạn như được đề cập bên dưới với rerun:target/rerun.txt. Dưa chuột viết các số dòng kịch bản thất bại trong rerun.txt như hình dưới đây.

features/MyScenaios.feature:25 
features/MyScenaios.feature:45 

Sau đó chúng ta có thể sử dụng tập tin này trong Bước 2

@RunWith(Cucumber.class) 
@CucumberOptions(
    monochrome = true, 
    features = "classpath:features", 
    plugin = {"pretty", "html:target/cucumber-reports", 
       "json:target/cucumber.json", 
       "rerun:target/rerun.txt"} //Creates a text file with failed scenarios 
       ,tags = "@mytag" 
      ) 
public class MyScenarioTests { 

} 

Bước 2: Tạo một tập tin kịch bản như hình dưới đây. Hãy nói điều này như FailedScenarios.java

@RunWith(Cucumber.class) 
@CucumberOptions(
    monochrome = true, 
    features = "@target/rerun.txt", //Cucumber picks the failed scenarios from this file 
    format = {"pretty", "html:target/site/cucumber-pretty", 
      "json:target/cucumber.json"} 
) 
public class FailedScenarios { 

} 

Mỗi lần nếu bạn nhận thấy bất kỳ thất bại kịch bản chạy tập tin trong Bước 2

+0

Tôi đã thử chính xác các bước tương tự như bạn đã đề cập ở trên. Tôi có thể thấy rằng rerun.txt đã được tạo nhưng kịch bản vẫn không thành công sẽ không được thực thi – SachinB

+0

Bạn phải sử dụng lớp 'FailedScenarios' để thực hiện các thử nghiệm của mình. Nói cách khác, bạn cần phải nhấp chuột phải vào 'FailedScenarios' và nhấn chạy. – vkrams

+0

Tôi có thể đạt được nó. Tôi đã đăng câu trả lời của mình ở đây. https: // stackoverflow.com/questions/49132447/rerunning-the-failed-kịch bản-sử dụng-maven-dưa chuột-thanh thản/49168147 # 49168147 – SachinB

0

Bạn cần ít nhất phiên bản 1.2.0 để sử dụng @ mục tiêu/rerun.txt tính năng mới. Sau đó, chỉ cần tạo một nhân vật chạy ở cuối và sử dụng tệp này. Ngoài ra, nếu bạn đang sử dụng Jenkins, bạn có thể đặt một thẻ vào các tính năng thất bại ngẫu nhiên để xây dựng không thành công trừ khi sau khi được chạy hai lần.

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