Tôi đang sử dụng Cucumber để kiểm tra. Làm cách nào để chạy lại các thử nghiệm không thành công?Làm cách nào để chạy lại các tình huống không thành công bằng cách sử dụng Cucumber?
Trả lời
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
Đâ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
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
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
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
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.
- 1. Làm cách nào để cải thiện tình huống thử lại ngoại lệ này?
- 2. Kiểm tra ứng suất bằng cách sử dụng Cucumber
- 3. Làm cách nào để chúng tôi xử lý các hoán vị nhỏ của các tình huống BDD?
- 4. Làm thế nào để sử dụng (tương tác "r") chức năng trong tình huống này?
- 5. Oracle: tình huống sử dụng RAISE_APPLICATION_ERROR là gì?
- 6. Tình huống nào yêu cầu sử dụng eval() vì không có lựa chọn thay thế?
- 7. Cách triển khai g ++ xử lý tình huống này?
- 8. Các tình huống hoặc ưu và nhược điểm khi sử dụng C++/CLI trên C#
- 9. Làm thế nào để chạy thử nghiệm dưa chuột-jvm bằng cách sử dụng Gradle
- 10. là ifelse bao giờ thích hợp trong một tình huống không vectorized và ngược lại?
- 11. Làm cách nào để có thể sử dụng maven trong tình huống tích hợp liên tục để cài đặt các tạo tác phiên bản trong kho lưu trữ?
- 12. Có thể sửa đổi kiểu bằng cách sử dụng Cucumber + Capybara không?
- 13. tại sao "onPause" không được gọi trong tình huống sau?
- 14. tình huống ext4/fsync không rõ ràng trong Android (Java)
- 15. Tình huống hỗ trợ Android cho OMA DRM là gì?
- 16. Làm thế nào để làm cho cần tây thử lại bằng cách sử dụng cùng một công nhân?
- 17. Khóa có cần thiết trong tình huống này không?
- 18. Làm cách nào để gửi lại yêu cầu ajax không thành công?
- 19. Làm thế nào để sử dụng câu lệnh thử tránh tình trạng chạy đua?
- 20. Làm cách nào để chạy nhiều phiên bản bằng cách sử dụng Backbone.Paginator.js?
- 21. Làm cách nào để sắp xếp lại/kết hợp các cam kết bằng cách sử dụng Git rebase?
- 22. Để hiểu việc sử dụng thực tế tùy chọn của Grep -H trong các tình huống khác nhau
- 23. Chạy lại các thử nghiệm không thành công và không chạy
- 24. Một danh sách so với tình huống tuple trong Python
- 25. Làm thế nào để bỏ qua tình huống yếu tố bất ngờ trong JAXB?
- 26. Làm cách nào để tăng một tên thư mục bằng cách sử dụng Windows batch?
- 27. writeToFile không thành công - làm cách nào để gỡ lỗi WHY không thành công (công cụ nào)?
- 28. Cấu trúc dữ liệu hai chiều cho tình huống này
- 29. Có cách nào để mô phỏng công cụ 'whois' bằng cách sử dụng php không?
- 30. Trong C++, làm thế nào để lặp lại mảng ngược lại bằng cách sử dụng for_each?
nó có anyway đặt tất cả trong một dòng cmd? –
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
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 –