Tôi đang gặp khó khăn trong việc tìm ra cách thực hiện kiểm tra e2e Angular với Play Framework hoặc với thử nghiệm Tích hợp Play. Tôi cảm thấy AngularJS mất rất nhiều giá trị nếu tôi không thể làm điều này. Tôi không biết làm thế nào tôi sẽ đi về làm e2e với Play. Và theo như thử nghiệm tích hợp Play, webDriver có thể xem các thuộc tính ng nhưng như với trường hợp cho mã tôi đã thử nó không mô phỏng hành vi thích hợp. Bất cứ ai cũng có một kinh nghiệm tương tự hoặc một giải pháp cho điều này? Hoặc có lẽ là có một lựa chọn tốt cho Angular (chẳng hạn như một khuôn khổ MVC với một thư viện tốt) tích hợp với thử nghiệm Play tốt hơn và có thể giúp tôi giảm số lượng dòng của tôi cho mã kết thúc trước không? Không. Tôi đã sử dụng coffeescript, jQuery và Bootstrap. Cảm ơn!Làm thế nào để thực hiện Play Framework với thử nghiệm AngularJS e2e hoặc với thử nghiệm Play
Trả lời
Hãy chính xác hơn một chút về "hành vi thích hợp". Lỗi là gì? Có phải vấn đề về việc tích hợp các bài kiểm tra e2e với luồng công việc Play hay chỉ có màu xanh lá cây e2e AngularJS thay vì màu đỏ?
Khó khăn ở đây là để xác định "End-to-end" vì không có định nghĩa tốt của nó, trong wikipedia không có đề cập về nó. Bạn có thể có ý tưởng hay về những gì nó chỉ vì nó là tự nói, và cũng có một chủ đề tuyệt vời về end-to-end tại đây: http://www.geekinterview.com/question_details/40319
Vì vậy, giả sử bạn muốn kiểm tra tất cả các tình huống với Front + Back trong môi trường gần gũi.
Kiểm tra đầu cuối AngularJS có nghĩa vụ phải được thực hiện với Karma, nhưng, cảnh báo, nó sẽ sớm được thay đổi bởi ProtractorJS.
Làm bài kiểm tra E2E với Karma có nhược điểm nghiêm trọng:
Nó có thể thất bại nếu bạn thử nghiệm ứng dụng AngularJS của bạn với hỗ trợ của bạn, cụ thể hơn, bất cứ điều gì một chút quá chậm trong backend có thể dẫn đến kiểm tra xanh đôi khi thất bại không có lý do chính đáng.
Kẻ giết người bỏ tính năng để làm thử nghiệm E2E thích hợp với góc là: bạn không thể double-click, cuộn chuột vv
Dưới đây là lời khuyên của tôi:
Chỉ sử dụng Karma cho thử nghiệm Front-End và sử dụng các lệnh cũ tốt như back-end. Kiểm tra phần tử css thích hợp được hiển thị và yêu cầu HTTP đúng được thực hiện. Nó sẽ cung cấp cho bạn sự tự tin tuyệt vời trên Front-End dev.
KHÔNG sử dụng Karma để kiểm tra đầu cuối. Tôi thấy Sikuli hoàn toàn nổi bật để làm công việc này. Sử dụng nó với fitnesse hoặc testNG để tích hợp tốt hơn.
Có thể là thước đoJS sẽ thực hiện công việc trong một tương lai tiếp theo.
Sikuli: http://www.sikuli.org/
ví dụ về sikuli FitNesse +: https://github.com/xebia/FitnesseSikuli
thước đo góc: https://github.com/angular/protractor
Bạn đã thành công với thử nghiệm như thế này với Play? – danielbh
Không phải với Play nhưng với chương trình phụ trợ Java trên appengine. Vâng, nó rất thành công theo cách này. Tôi hy vọng sẽ có câu trả lời khác bởi vì đó là một câu hỏi thú vị, có thể có nhiều câu trả lời tốt. Tôi không nói theo cách của tôi là cách để làm, tôi chỉ nói rằng nó đã được chứng minh thành công ... ít nhất một lần;) – bdavidxyz
Được rồi, cảm ơn lời khuyên. Tôi sẽ xem xét tất cả. – danielbh
- 1. Play Framework (2.1.3) không chạy bất kỳ thử nghiệm nào
- 2. Tải thử nghiệm trong Play! khuôn khổ
- 3. Thử nghiệm MultipartFormData trong Play 2.0 FakeRequest
- 4. AngularJS - thử nghiệm cơ bản với tiêm
- 5. Chức năng thử nghiệm alpha và beta của google play
- 6. Thử nghiệm với HTF
- 7. Làm cách nào để xác thực khi kiểm tra hộp kiểm trong các thử nghiệm AngularJS e2e?
- 8. Thử nghiệm thực hiện printf
- 9. Thử nghiệm với Thread.sleep
- 10. Đồ đạc thử nghiệm hoặc tương đương với dữ liệu thử nghiệm với Smalltalk Seaside?
- 11. Play Framework 2.1.0 & AngularJS Integration
- 12. giả lập $ httpBackend trong các thử nghiệm góc cạnh e2e
- 13. NUnit thử nghiệm đầu tiên rất chậm với Khung thực thể trong thử nghiệm Resharper runner
- 14. Thử nghiệm nhà máy AngularJS trong Karma với Jasmine
- 15. Thử nghiệm với số lẻ
- 16. Thử nghiệm Middleware với Rspec
- 17. Thử nghiệm ActiveAndroid với Robolectric
- 18. Java: Thử nghiệm với generics
- 19. Làm thế nào để bạn thử nghiệm?
- 20. thử nghiệm AngularJS nhà máy chức năng với Jasmine
- 21. DialogFragments thử nghiệm với Robolectric
- 22. Làm cách nào để thực hiện các thử nghiệm phù hợp với cụm từ thông dụng?
- 23. Thử nghiệm ActiveAdmin với rspec
- 24. Làm thế nào để thử nghiệm tài nguyên $ góc trong các thử nghiệm hoa nhài
- 25. Thêm nhóm mới để thử nghiệm Beta trong Google Play Developer Console
- 26. Làm cách nào để thử nghiệm A/B với các mẫu AngularJS?
- 27. Làm cách nào để thực hiện một thử nghiệm đơn lẻ bằng thử nghiệm/đơn vị Ruby?
- 28. Khi thử nghiệm với rspec, nơi để đặt phổ biến "phương pháp thử nghiệm tiện ích"?
- 29. Thử nghiệm ActionFilterThuộc tính với MSpec
- 30. Làm cách nào để chỉ định tệp cấu hình với sbt 0.12.2 cho thử nghiệm sbt?
này phụ thuộc vào webdriver bạn đang sử dụng. Bạn đã thử PhantomJS chưa? Tôi đã tìm thấy PhantomJS rất mạnh mẽ. – Tanin