PHP WebDriver là gì?
Trong bài đăng này, chúng ta sẽ khám phá một số điều cơ bản về thử nghiệm chấp nhận của người dùng với Selenium. Chúng tôi sẽ thực hiện việc này với khung thử nghiệm đơn vị cổ điển PHPUnit, trình duyệt web Firefox và với thư viện php-webdriver mới do Facebook phát triển gần đây Show
Selenium cho phép chúng tôi ghi lại các hành động của người dùng mà chúng tôi thực hiện bên trong trình duyệt và sau đó tự động hóa chúng. PHPUnit sẽ được sử dụng để thực hiện các xác nhận khác nhau và kiểm tra xem chúng có ngụy biện không. Và 5 được sử dụng để kết nối PHP với Selenium, để thực hiện thao tác trình duyệt trong PHPCó thể bạn đã biết, bản thân PHPUnit có thể thực hiện các thao tác Selenium thông qua PHPUnit. Có phần mở rộng PHPUnit_Selenium bạn có thể sử dụng. Thay vào đó, chúng tôi sẽ sử dụng php-webdriver vì triển khai này hiện đại và API của nó sạch hơn và trông giống như API Java Selenium gốc. Đó là lý do tại sao nó dễ học hơn và mạnh hơn nhiều so với PHPUnit. Ví dụ: nó cho phép bạn sử dụng gửi các sự kiện chạm gốc, điều này rất quan trọng trong thời đại của các ứng dụng web sẵn sàng cho thiết bị di động Lấy các công cụHãy cài đặt tất cả các công cụ cần thiết bằng Composer. Đối với điều này, chúng tôi sẽ cần tạo tệp 6
Chúng tôi sẽ không phát triển bất kỳ ứng dụng nào, vì vậy chúng tôi ổn, chỉ với phần 7. Hãy chạy
và lấy các phiên bản mới nhất của cả hai thư viện. Chúng tôi cũng sẽ cần máy chủ Selenium có thể thực thi được. Bạn cần cài đặt Java để chạy máy chủ Selenium. Bạn có thể khởi chạy nó bằng cách chạy cái này
Và khi các công cụ đã được chuẩn bị, hãy viết một số bài kiểm tra Kiểm tra đơn vị PHPVì vậy, hãy thử kiểm tra một cái gì đó trên web. Hãy bắt đầu với thứ gì đó đơn giản và nổi tiếng, như Github. Vì vậy, hãy tạo một tệp và đặt tên nó là 8
Như bất kỳ bài kiểm tra PHPUnit nào, nó sẽ mở rộng 9 (như đã đề cập, chúng tôi không sử dụng PHPUnit_Extensions_Selenium2TestCase ở đây). Đối với mọi thử nghiệm, chúng tôi sẽ cần khởi chạy trình duyệt, hay nói cách khác, chúng tôi đang bắt đầu phiên Selenium. Điều này được thực hiện bằng cách tạo phiên bản 0
Phần khởi tạo này được lấy từ file php-webdriver README. Chúng tôi chưa có bất kỳ bài kiểm tra nào, vì vậy hãy viết một cái gì đó rất cơ bản. Cái gì đó như. “Nếu tôi mở https. //github. com, tiêu đề trang phải chứa GitHub”
Bây giờ chúng tôi thực hiện thử nghiệm đầu tiên của mình với phpunit
và trong vài giây, chúng ta sẽ thấy một cửa sổ Firefox có Trang Github trong đó vui lòng chú ý văn bản WebDriver trong thanh trạng thái, điều này cho bạn biết rằng cửa sổ trình duyệt này được kiểm soát bởi WebDriver Trong bảng điều khiển, chúng ta sẽ thấy đầu ra này
Chúng tôi sẽ thấy rằng thử nghiệm đã kết thúc, nhưng cửa sổ trình duyệt vẫn mở. Đó là bởi vì chúng tôi đã không triển khai phương pháp 1, phương pháp này sẽ được sử dụng để đóng phiên webdriver
Kiểm tra nâng caoChúng tôi đã không chạm vào bất kỳ thành phần trang nào trong thử nghiệm trước đó. Chúng tôi vừa mở trang và kiểm tra tiêu đề của nó. Nhưng sức mạnh của webdriver tiết lộ khi bạn muốn nhấp vào các phần tử, điền vào biểu mẫu, kéo và thả các phần tử, v.v. Đó là lý do tại sao chúng tôi sẽ viết một bài kiểm tra thể hiện một số tính năng này Nhưng làm thế nào có thể kiểm soát trình duyệt? . WebDriver cho phép chúng tôi định vị phần tử trên trang theo ID, tên lớp, tên phần tử, CSS hoặc XPath. Hãy liệt kê tất cả các loại định vị có thể, được lấy từ lớp 2
Để tìm phần tử, chúng ta nên sử dụng phương pháp 0, với bộ định vị được chỉ định bằng 2Sau khi tìm thấy phần tử phù hợp, chúng ta có thể nhấp vào phần tử đó. Như thế này
Chúng tôi đang nhấp vào trường tìm kiếm toàn cầu GitHub, nằm ở thanh menu trên cùng, khớp với id của nó. Nhân tiện, làm thế nào chúng ta có được id của phần tử? . Tìm kiếm bộ định vị phần tử là nhiệm vụ quan trọng nhất trong thử nghiệm chấp nhận. Đối với mọi bài kiểm tra, chúng tôi cần lấy các yếu tố liên quan đến nó. Hãy chỉ ra một số thủ thuật đơn giản chắc chắn sẽ giúp bạn viết các bài kiểm tra chấp nhận phức tạp yếu tố định vị. Mẹo & Thủ thuậtĐiều đầu tiên chúng ta có thể làm là tạm dừng việc thực hiện kiểm thử. Trong khi cửa sổ trình duyệt vẫn đang mở, chúng ta có thể sử dụng nó để tìm định vị. Để tạm dừng thực hiện kiểm tra, hãy viết phương thức trợ giúp này bên trong một lớp kiểm tra 0Nếu chúng tôi sử dụng nó ở đâu đó trong các thử nghiệm của mình, PHPUnit sẽ đợi phím 2 được nhấn trong bảng điều khiển trước khi tiếp tục 1Bây giờ khi cửa sổ trình duyệt được mở, chúng tôi có thể tự do tìm kiếm phần tử cần thiết mà không cần vội vàng. Chúng tôi đang sử dụng Công cụ dành cho nhà phát triển Firefox cho việc đó. Với Trình kiểm tra phần tử bên trong, chúng ta có thể trỏ đến phần tử và nhận bộ định vị CSS duy nhất của nó Đó là cách chúng tôi có id trường tìm kiếm. 3. Thực hiện các bước mẫu, hãy tiếp tục viết bài kiểm tra của chúng tôi và tìm kho lưu trữ 5 trên GitHub 2Nếu chúng tôi chạy thử nghiệm này, chúng tôi sẽ thấy rằng nó không thành công ở bước cuối cùng Đó là bởi vì chúng tôi quên rằng GitHub sử dụng 5 theo mặc định và GitHub là một công ty chứ không phải một tổ chức phi lợi nhuận (như chúng tôi từng nghĩ về nó, he-he). Mặc dù vậy, hãy thay đổi url dự kiến thành 'https. //github. com/facebook/php-webdriver’ và xem bài kiểm tra đã vượt qua chưaPhần tử không tìm thấyCó lẽ chúng tôi cũng sẽ muốn kiểm tra xem phần tử có nằm trên một trang không. Nếu chúng tôi đang sử dụng 6 của PHPUnit, chúng tôi sẽ có một số xác nhận thú vị mà chúng tôi có thể sử dụng cho mục đích đó. Trong trường hợp thư viện php-webdriver, chúng tôi sẽ cần tự triển khai chúng. Nhưng điều đó khá dễ dàng. Php-Webdriver đưa ra nhiều ngoại lệ khác nhau mà chúng ta có thể xử lý và chuyển đổi thành các xác nhận của PHPUnit 3Bạn có thể tạo xác nhận tương tự theo cách tương tự Chúng tôi sẽ sử dụng phương pháp 7 mới được tạo để kiểm tra xem không có hình đại diện người dùng nào trên trang “facebook/php-webdriver” 4tái cấu trúcĐể làm sạch một số thứ, chúng tôi sẽ tách các phương pháp kiểm tra và phương pháp hỗ trợ. Bạn nên chuyển xác nhận tùy chỉnh thành đặc điểm. 8. Và trình chuyển đổi tạm dừng 9 có thể được chuyển sang đặc điểm 0. Chúng tôi có thể kích hoạt đặc điểm này trong một lớp kiểm tra, khi chúng tôi phát triển một bài kiểm tra và tắt nó đi sau khi chúng tôi hoàn thànhDự án demo hoàn chỉnh, sau khi tái cấu trúc cơ bản này, bạn có thể tìm thấy trên GitHub Còn Codeception thì sao?Vì vậy, bạn đã nhận thấy rằng đây là blog Codeception. Nhưng chúng tôi hoàn toàn không sử dụng Codeception framework trong hướng dẫn này. Chắc chắn, chúng ta cần đề cập rằng Codeception bao gồm thư viện php-webdriver và mô-đun WebDriver ngay từ phiên bản 1. 7. Trong Codeception, bạn có thể thực hiện tất cả các thao tác trên web theo cách đơn giản hơn nhiều bằng API WebGuy. Nếu bạn sử dụng Codeception, bạn không cần triển khai các xác nhận WebDriver của riêng mình cũng như không cần viết mã soạn sẵn kết luậnBất kể bạn có đang sử dụng Codeception hay không, bạn nên hiểu cách thực hiện thử nghiệm chấp nhận dựa trên trình duyệt chỉ bằng cách sử dụng chính php-webdriver. Thư viện Php-webdriver cung cấp các API rất rõ ràng và linh hoạt mà bạn sẽ thích làm việc với PHP là ngôn ngữ phổ biến để phát triển web, nhưng không phải để kiểm tra web. Các kỹ sư tự động hóa thử nghiệm thích Java và Ruby hơn nó. Và có một lý do nghiêm trọng cho điều đó. Không có thứ gọi là “liên kết Selenium chính thức” cho PHP, tôi. e. không có thư viện máy khách Selenium cho PHP được tạo bởi nhóm Selenium. Các nhà phát triển của php-webdriver tiến rất gần đến các API máy khách Selenium chính thức. Đó là lý do tại sao bạn nên sử dụng php-webdriver - nó thực sự cảm thấy và hoạt động giống như các thư viện Selenium gốc và chính thức. Điều đó đặc biệt quan trọng nếu bạn có kinh nghiệm viết các bài kiểm tra chấp nhận bằng Java hoặc Ruby. Chuyển sang PHP không khó lắm, khi tất cả các API đều giống nhau WebDriver dùng để làm gì?Selenium WebDriver là một khung web cho phép bạn thực hiện kiểm tra trên nhiều trình duyệt. Công cụ này được sử dụng để tự động kiểm tra ứng dụng dựa trên web để xác minh rằng ứng dụng đó hoạt động như mong đợi . Selenium WebDriver cho phép bạn chọn ngôn ngữ lập trình để tạo test script.
Làm cách nào để sử dụng Selenium WebDriver trong PHP?Bắt đầu với Kiểm tra Selenium bằng PHP. . Bước 1. Cài đặt Xampp. . Bước 2. Tải xuống Selenium PHP Binding và giải nén nó vào thư mục htdocs. . Bước 3. Cài đặt bất kỳ IDE nào. . Bước 4. Tải xuống và cài đặt trình điều khiển trình duyệt. . Bước 5. Tải xuống máy chủ Selenium. . Bước 6. Tạo bài kiểm tra WebDriver nói một cách đơn giản là gì?Đó là khung tự động hóa web cho phép chúng tôi thực hiện thử nghiệm trên nhiều trình duyệt khác nhau . Nó có thể thực hiện nhiều bài kiểm tra trên nhiều trình duyệt trên nhiều hệ điều hành. WebDriver cho phép viết tập lệnh thử nghiệm trong Linux và chạy nó trong Windows.
WebDriver có giống với Selenium không?Giới thiệu Selenium IDE so với WebDriver
. Để so sánh, Selenium IDE là một plug-in trình duyệt được thiết kế để ghi và phát lại các bài kiểm tra. Selenium WebDriver is a code library of APIs for controlling browsers. In comparison, Selenium IDE is a browser plug-in designed for recording and playing back tests. |