1. End-to-end

Các ứng dụng website hiện đại cần tích phù hợp hàng loạt các hình thức dịch vụ phía bên ngoài, khối hệ thống cửa hàng tài liệu với những API. Và làm sao để cho phù hợp với việc biến đổi thường xuyên của những trang bị cùng trinch cẩn thận website.

Bạn đang xem: Protractor là gì

Đang xem: Protractor là gì

Đây là một trong nghành nghề vô cùng khó hoặc thậm chí là trọn vẹn quan trọng kiểm tra bằng phương pháp truyền thống nhỏng Unit thử nghiệm cùng simple mocks. Một các đại lý dữ liệu có thể fail, một dịch vụ phía bên ngoài hoàn toàn có thể trả về một kết quả chưa hợp lệ và một phiên phiên bản trình lưu ý new rất có thể có lỗi search ẩn.Điều đó dẫn đến sự Ra đời của end-to-kết thúc testing. Chúng ta mong mỏi phân tách áp dụng của họ một giải pháp tổng quan tiền với chắc chắn rằng nó vận động nlỗi ý muốn chờ. Chúng ta muốn chất vấn toàn cục ứng dụng, ban đầu tự đồ họa người tiêu dùng xuống những hệ thống con tín đồ, chẳng hạn như tàng trữ dữ liệu hoặc hotline các hình thức phía bên ngoài.Điều đặc biệt quan trọng nên để ý là end-to-end testing không phải là cách thức kiểm test cực tốt cơ mà chúng ta buộc phải sử dụng nó với những phương pháp thử nghiệm khác, nhưng mà mức độ dài với phạm vi rộng lớn những kiểm demo end-to-over giúp chúng ta rất đôi khi cải cách và phát triển một vận dụng website tinh vi.

Xem thêm: Keo Pva Là Gì ; Hoa Chat Pva; Polyvinyl Alcohol Pva, Pva Chất Làm Keo Trong 1Kg

2. PROTRACTOR

Google vẫn released an end-to-over testing framework đến AngularJS tích hợp các technology hiện có nlỗi Selenium, Node.js và Jasmine cùng tạo nên việc viết demo script một giải pháp tiện lợi.Với protractor bạn cũng có thể viết những kiểm tra script tự động hóa chạy xe trên một trình coi xét thực tiễn, so với một website hiện nay bao gồm. Như vậy, chúng ta cũng có thể tiện lợi đánh giá coi một trang tất cả thao tác nlỗi ý muốn hóng. Dường như vấn đề sử dụng protractor hỗ trợ chúng ta làm rõ thêm về AngularJS và buổi tối ưu hóa mang đến nó.

*

Protractor đòi hỏi họ đề nghị tải Node.js, Selenium với Jasmine trước trên trang bị.Cài Protractor globally cùng với comm& line:Nó vẫn từ sở hữu command line tools,protractorandwebdriver-manager. Try runningprotractor –versionlớn make sure it”s working.

Thewebdriver-manageris a helper tool lớn easily get an instance of a Selenium Server running. Use it to download the necessary binaries with:Giống nlỗi Karma, Protractor đòi hỏi một tệp tin thông số kỹ thuật nhằm nó biết được gia công chũm nào nhằm chạy, làm thay làm sao nhằm kết nối cùng với Selenium, vvPmùi hương pháp dễ dàng nhất nhằm tạo thành một tập tin thông số kỹ thuật choProtractorlà copy một tập tin thông số kỹ thuật xem thêm tự các thỏng mục thiết lập.exports.config = seleniumAddress: “http://localhost:4444/wd/hub”, capabilities: “browserName”: “chrome” , specs: , jasmineNodeOpts: showColors: true ;describe(“E2E Testing”, function() // start at root before every chạy thử is run beforeEach(function() browser().navigateTo(“/”); ); // kiểm tra mặc định route it(“should jump lớn the /home page path when / is accessed”, function() browser().navigateTo(“#/”); expect(browser().location().path()).toBe(“/login”); ); it(“ensures user can log in”, function() browser().navigateTo(“#/login”); expect(browser().location().path()).toBe(“/login”); // ng-model specified, and this conbination will successfully login input(“email”).enter(“testkiểm tra.com”); input(“password”).enter(“password”); element(“submit”).click(); // logged in route expect(browser().location().path()).toBe(“/dashboard”); // my dashboard page has a label for the gmail address of the logged in user expect(element(“#email”).html()).toContain(“testthử nghiệm.com”); ); it(“should keep invalid logins on this page”, function() browser().navigateTo(“#/login”); expect(browser().location().path()).toBe(“/login”); // ng-model specified, & this conbination will successfully login input(“email”).enter(“invalidkiểm tra.com”); input(“password”).enter(“wrong password”); element(“submit”).click(); expect(element(“#message”).html().toLowerCase()).toContain(“failed”); // logged out route expect(browser().location().path()).toBe(“/login”); ););*** Đễ tổ chức code xuất sắc rộng ta yêu cầu tách bóc những element đối tượng người dùng của một page thành một tệp tin riêng biệt đánh tên làexample-po.jsvar LoginPage = function() this.username = element(by.model(“username”)); this.password = element(by.model(“password”)); this.loginButton = element(by.id(“btn-login”)); this.passwordRequiredError = element(by.css(“error-password-required”)); this.visit = function() browser.get(“/login”); ; this.setUsername = function(username) this.username.clear(); this.username.sendKeys(username); ; this.setPassword = function(password) this.password.clear(); this.password.sendKeys(password); ; this.login = function() this.loginButton.click(); ;};module.exports = new LoginPage();Import tệp tin *-po.js vào tệp tin *-spec.jsvar page = require(“./sample-po.js”);describe(“E2E Testing”, function() it(“chạy thử case”, function() page.visit(); page.setUsername(“gandalf”); page.login(); expect(page.passwordRequiredError.isDisplayed()).toBe(true); ););

6. CHẠY TEST

protractor *-conf.js

*

Author: Hai Nguyen Người tạo nên mister-bản đồ.com vui tính, say đắm xây dựng, kết chúng ta cùng phân chia vẫn. Happy coding!