Selenium webdriver là gì

Selenium webdriver là gì

Đây là bài đầu tiên trong loạt bài về Selenium Webdriver mà mình có ý định viết, mặc dù kiến thức còn nhiều lỗ hổng nhưng mình sẽ cố gắng viết rồi bổ khuyết dần dần. Rất mong được mọi người cho ý kiến.

Bạn đang xem: Selenium webdriver là gì

*

Mở bài:Selenium Webdriver (Se driver) là một tool open source giúp việc thực thi các hành động lên trang web một cách tự động, tất nhiên là tùy vào mục đích và yêu cầu của người viết. Se driver hỗ trợ viết script trên nhiều ngôn ngữ khác nhau: Java, C#, python, PHP… nhưng trong series này mình chỉ giới thiệu Se driver qua ngôn ngữ Java, vì mình chỉ biết Java. ????Về mặt bản chất, Se driver là một 1 package trong đó có chứa rất nhiều các gói jar, cung cấp các API hay gọi nôm na là thư viện. Vì nó là thư viện nên cách sử dụng nó cũng chả khác gì việc sử dụng nhưng thư viện khác mà Java đã cung cấp sẵn như java.util hay java.lang.

Thân bài:Hết phần mở bài khó hiểu, mình sẽ đi vào phần thân bài chứa đầy đủ các thông tin để các bạn hiểu cặn kẽ về Selenium Webdriver.I. Để học và dùng Se driver thì cần những gì? II. Các script được viết ra bằng Se driver thực thi theo cơ chế nào? III. Những trang web giúp việc học Selenium trở nên dễ dàng hơn.

Xem thêm: Thermostat Là Gì – Chức Năng Của

I. Để học được Selenium Webdriver thì cần những gì?1. Máy tính đã cài Java 8 trở lên, có sẵn 1 bộ IDE soạn thảo code (mình dùng Eclipse / Intellij IDEA).2. Biết Java cơ bản (nếu không biết thì học :v)3. Cài sẵn các add-on Chropath trên Chrome4. Trong máy tính có down sẵn các file driver của các trình duyệt (chromedriver, firefoxdriver…)

II. Các script được viết ra bằng Selenium Webdriver thực thi theo cơ chế nào?

–>  test cript viết theo Testcase1. Để Se driver có thể mô phỏng hành động như click chuột hay điền giá trị, đầu tiên nó phải xác định được vị trí của element (phần tử) trên trang web mà nó sẽ tương tác. (dựa vào các thẻ html)2. Sau khi đã xác định được vị trí, thì sẽ xác định hành động đối với element đó. (thông qua các API được viết sẵn trong các gói thư viện của Webdriver, như đã nói ở trên)3. Sau khi hoàn thành 1 list các hành động theo trình tự ( giống như thực hiện với manual test), ta sẽ kiểm tra xem trang web có thực hiện đúng hay không.

Ví dụ: Kiểm tra chức năng login,1. Ta cần phải xác định được vị trí của các element: Username, Password và Submit Button và nói cho Webdriver biết vị trí của từng thằng.2. Hành động đối với Username và Password là nhập dữ liệu, ta sẽ dùng các phương thức nhập dữ liệu. Với Submit Button thì ta dùng phương thức mô phỏng Click chuột.3. Viết câu lệnh kiểm tra xem với dữ liệu nhập vào thì login có thành công hay không bằng cách xem nó có chuyển sang page khác hay vẫn ở lại page Login … Với thao tác bình thường, ta rất dễ có thể kiểm tra được xem Login như thế là Fail hay Pass nhưng với automation, việc này sẽ được check tự động và phải chọn những điểm làm căn cứ để đánh dấu Pass/Fail.

Khi run Script, điều gì sẽ xảy ra?Khi viết xong script, mình muốn run để xem thử có bao nhiêu TC fail hay pass. Khi run, Se driver sẽ gọi trực tiếp (direct call) trình duyệt thông qua driver của chính trình duyệt đó (chromedriver, firefoxdriver… có nói ở mục I.4). Sau đó các hành động trên script sẽ được thực thi.

Xem thêm: Download Euro Truck Simulator 2 1, *tải Game Ets2 Tổng Hợp Phiên Bản! Video

Chi tiết của việc direct call:– Với mỗi 1 hành động từ script, một HTTP request sẽ được tạo ra– HTTP request đó gửi đến browser driver– Mỗi browser driver sẽ có 1 HTTP server để nhận lấy HTTP request– Sau khi nhận, HTTP server xác định những bước cần thiết để thực thi hành động phản hồi lại request.– HTTP server thực thi những bước ở trên– Sau đó, HTTP server trả lại trạng thái thực hiện những hành động cho client, nơi đang run script.

III. Những trang web giúp học Selenium Webdriver nhanh hơn– www.seleniumhq.org– http://www.seleniumeasy.com– https://automationfc.com/category/selenium/selenium-webdriver/– https://www.guru99.com/selenium-tutorial.html

Kết bài: Đây chỉ mới là bài giới thiệu về công cụ kiểm thử tự động mà nhà nhà nói, người người nói. Sẽ còn rất nhiều điều phải học, phải làm nhưng mình tin là nó không quá khó, kể cả với những người còn kém lập trình như mình. ????

Chuyên mục: Hỏi Đáp

=> Xem thêm: Tin tức tổng hợp tại Chobball

Comments are closed.