Bạn đang xem: Screenplay là gì
Quý Khách vẫn xem: Screenplay là gì
Nội dung bài xích xích viết
II. Mô hình của Screenplay, so sánh cùng với Page Object.III Để đề xuất thực hiện screenplay hiệu quảI. Screenplay Pattern là gì?
Screenplay, tiếng đồng hồ anh Tức là kịch bản, đề xuất ít nhiều tín đồ dân xuất sắc ba hoa “thực hiện screenplay bao hàm nghĩa bản thân là đơn vị chức năng soạn kịch“.
Nó là 1 thiết kế pattern phục vụ đến automation test, vô cùng có thể áp dụng mang về 2 màn nghịch API thuộc UI. Nguồn chỗ bắt đầu của nó từ chưng John Ferguson Smart, một bạn chuyên đi dạy về agile, triệu tập vào BDD.
Bác ý có một framework tên là serenity bdd, nó hỗ trợ tư vấn 3 biện pháp thao tác không giống nhau:
Page ObjectCucumberScreenplayVậy đề xuất chúng ta chớ lầm lẫn screenplay là serenity cùng ngược quay trở về. Screenplay là 1 giữa những design pattern thể hiện 1 cách viết kiểm tra. Còn serenity bdd là một trong những trong số những framework mang đến Automation Test.
Giờ trên đây screenplay vẫn xuất hiện thêm trên 3 framework khác nhau
II. Mô hình của Screenplay, so sánh cùng rất Page Object.

Hình bản thân từ vẽ lại cho tất cả màu xanh da trời lá cây :v
Quý người sử dụng ra sao Gọi được tiếng anh thì hoàn toàn có thể phát âm chỉ dẫn cùng reviews về screenplay ở vị trí này.
Mô hình Page Object:

1. Tất cả xoay bao quanh Actor
Trong quy mô này, trung TW của nó là Actor. Vì sao nó lại tất cả actor??? Actor là thay mặt đại diện thay mặt đại diện cho 1 người tiêu dùng thật, nó bắt đầu từ story vào agile. Và này cũng chính là vấn đề khác biệt chủ công giữa Screenplay với Page Object. Actor đang là tín vật dụng đứng ra có tác dụng các sự việc, điều đó dễ dàng thâu tóm rộng lớn là câu hỏi call method trường đoản cú quăng quật pageA rồi pageB.
Xem thêm: Idc Là Gì ? Ý Nghĩa Của Từ Idc Idc Là Viết Tắt Của Từ Gì
Ví dụ:

copy image from https://www.justinmind.com/blog/user-story-examples/
Code chủng loại copy trường đoản cú trang gốc:
Steps private PlaceholderText thePlaceholderText; private DisplayedItems theDisplayedItems = new DisplayedItems(); Test public void should_be_able_to_add_a_todo_item() givenThat(james).wasAbleTo(OpenTheApplication.onTheHomePage()); when(james).attemptsTo(AddATodoItem.called("Buy some milk")); then(james).should(seeThat(theDisplayedItems, hasItem("Buy some milk"))); }Actor has an ability (rất có thể triển khai browser, trọn vẹn rất có thể tiến hành api)james.can(BrowseTheWeb.with(hisBrowser));//thực tế là khởi tạo thành webdriverActor vị tasks (task này quan sát dưới ánh mắt business)(james).wasAbleTo(OpenTheApplication.onTheHomePage())(james).attemptsTo(AddATodoItem.called("Buy some milk"))//thực tiễn là điện thoại tư vấn đều method nhằm mục tiêu triển khai action lên web applicationActor ask question(james).should(seeThat(theDisplayedItems, hasItem("Buy some milk")));//Thực hóa học là compare actual cùng với expectedVề thực chất 2 thằng hầu như tương đương nhau thôi, nhưng mà lại tuy nhiên Screenplay tạo nên thành mang về nó 1 layer abstraction để nhìn test bên dưới tinh tướng business, nỗ lực vị đính thêm chặt vào UI, chúng ta như thế nào giả dụ cần sử dụng cucumber cũng nhận thấy điểm y như.2. Khác biệt đến từ Task
Task bên dưới mắt nhìn business sẽ giúp đỡ mang đến họ không thay đổi được chạy thử giả dụ nlỗi UI thay đổi, thực ra thì bản thân thấy nó cũng ko rộng gì method của Page Object. Điểm nó xuất sắc rộng, đang là Task này là một trong interface extends từ bỏ interface Performable, nó có mang biện pháp làm việc thông thường đem đến toàn bộ những task to nhỏ nhỏ bé.
Task này vô cùng rất có thể đựng 1 hoặc các task khác.
khi quan tiền ngay cạnh vào task, các bạn chỉ nhận ra business với chỉ với thời điểm nào đi mang lại chiếc task cấp độ sau cùng, các bạn sẽ thấy được interaction, chính là code selenium ảnh hưởng cùng với browser (tất yếu là nó cũng khá được quấn bên phía ngoài bởi vì code khác).
