Hỏi đáp công nghệ

Selenium là gì? Định nghĩa, cách hoạt động và lợi ích của Selenium

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Table of Contents

Vô số giờ được dành để kiểm thử một ứng dụng web để đảm bảo rằng ứng dụng đó hoạt động trong và ngoài môi trường phát triển cục bộ. Trước Selenium, quy trình kiểm thử này phải trải qua một loạt các quá trình kiểm tra thủ công, thực hiện và tái hiện hàng trăm test case trên tất cả các trình duyệt được chuẩn hóa, flagging (gắn cờ) những gì bị hỏng và cố gắng xác định nguồn gốc của sự cố đó.

Tùy thuộc vào quy mô của nhóm kiểm thử thủ công, kiểm tra hệ thống end-to-end có thể mất từ ​​vài ngày đến vài tuần để chạy và hoàn thiện quá trình. Nhưng các phương pháp phát triển phần mềm ngày nay hoạt động trong các khung thời gian ngắn hơn rất nhiều, thường từ hai đến bốn tuần.

Selenium là gì?
Selenium là gì?

Việc phân phối các bản phát hành mới, không có lỗi trong thời gian đó yêu cầu kiểm thử tập trung, có thể lặp lại và cung cấp phản hồi gần như tức thì. Đó là lý do tại sao kiểm thử Selenium là không thể thiếu đối với sự phát triển ngày nay.

Dưới đây là một cái nhìn sâu hơn về kiểm thử tự động hóa Selenium là gì, cách nó ra đời và cách sử dụng nó phù hợp với các pipeline phát triển nhịp độ nhanh phổ biến hiện nay.

Selenium là gì?

Selenium là một framework kiểm thử tự động (mã nguồn mở) miễn phí được sử dụng để xác thực các ứng dụng web trên các trình duyệt và nền tảng khác nhau.

Bạn có thể sử dụng nhiều ngôn ngữ lập trình như Java, C #, Python, v.v. để tạo Selenium Test Script (tập lệnh kiểm thử Selenium). Kiểm thử được thực hiện bằng công cụ kiểm tra Selenium thường được gọi là Selenium Testing.

Phần mềm Selenium không chỉ là một công cụ đơn lẻ mà là một bộ phần mềm, mỗi phần mềm phục vụ cho các nhu cầu kiểm tra Selenium QA khác nhau của một tổ chức. Dưới đây là danh sách các công cụ:

  • Selenium Integrated Development Environment (IDE)
  • Selenium Remote Control (RC)
  • WebDriver
  • Selenium Grid

Hiện tại, Selenium RCWebDriver được hợp nhất thành một framework duy nhất để tạo thành Selenium 2. Còn Selenium 1 thường được nhắc với cái tên Selenium RC.

Lưu ý: Để bắt đầu với phiên bản mới nhất của Selenium (triển khai dựa trên WebDriver), bạn sẽ chỉ cần một tệp jar selen duy nhất (selenium-standalone-server – ‘{‘ version ‘}’. Jar) để chạy kiểm thử cả cục bộ và trên thiết bị từ xa. Tệp JAR này chứa API WebDriver chuẩn W3C và Selenium Grid, cùng với Selenium Server (dành cho những người dùng hiện có triển khai Selenium RC không được dùng nữa).

Đây là cách các thành phần đó hoạt động:

Selenium WebDriver

Còn được gọi là Selenium 2.0, WebDriver thực thi các test script thông qua các trình điều khiển dành riêng cho trình duyệt. Nó bao gồm:

Application Programming Interface

API – Giao diện lập trình ứng dụng. Chuyển các test script bạn viết bằng Ruby, Java, Python hoặc C # sang Selenese (ngôn ngữ script riêng của Selenium), thông qua các binding.

Thư viện

Có chứa API và các binding dành riêng cho ngôn ngữ. Mặc dù tồn tại nhiều binding của bên thứ ba để hỗ trợ các ngôn ngữ lập trình khác nhau, nhưng client-side binding cốt lõi được hỗ trợ bởi dự án chính là: Selenium Java (dưới dạng tệp jar selen), Selenium Ruby, Selenium dotnet (hoặc Selenium C#, có sẵn dưới dạng file .dll ), Selenium Python và Selenium JavaScript (Node).

Driver

Mô-đun thực thi mở ra phiên bản trình duyệt và chạy tập lệnh test script. Dành riêng cho trình duyệt — ví dụ: Google phát triển và duy trì Chromedriver cho Selenium để hỗ trợ tự động hóa trên Chromium/Chrome.

Framework

Hỗ trợ các thư viện để tích hợp với các framework kiểm thử ngôn ngữ lập trình hoặc tự nhiên, như Selenium với Cucumber hoặc Selenium với TestNG.

Cách hoạt động: Giao thức WebDriver có phần local end (‘máy khách’) gửi các lệnh (test script) đến trình điều khiển dành riêng cho trình duyệt. Trình điều khiển thực thi các lệnh này trên phiên bản trình duyệt của nó. Vì vậy, nếu test script yêu cầu thực thi trên Chrome và Firefox, ChromeDriver sẽ thực hiện kiểm thử trên Chrome; GeckoDriver sẽ làm tương tự trên Firefox.

Lưu ý: Các test script chỉ thực thi khi máy khách và trình duyệt/trình điều khiển của WebDriver được kết nối. Chúng không nhất thiết phải ở trên cùng một thiết bị. Để kích hoạt thực thi kiểm thử trên nhiều trình điều khiển từ xa, bạn cần RemoteWebDriver và Grid.

Selenium Grid

Selenium là gì?

Grid có thể giảm thiểu thời gian chạy kiểm thử — bằng cách thực thi nhiều test script trên tất cả thiết bị từ xa cùng một lúc. Đây được gọi là kiểm thử song song.

Selenium Grid là một máy chủ thông minh giúp định tuyến các lệnh kiểm thử đến các phiên bản trình duyệt trên các thiết bị từ xa. Hai thành phần chính cần thiết cho việc này (không phải là test script từ phía máy khách/tester) bao gồm:

‘Hub’ (máy chủ):

Chấp nhận các yêu cầu truy cập từ WebDriver client. Định tuyến các lệnh kiểm thử JSON tới trình điều khiển từ xa trên các ‘nút’ đã đăng ký.

‘Nút’ (thiết bị từ xa):

Nút (node) chứa hệ điều hành gốc, trình duyệt và remoteWebDriver.

Cách thức hoạt động: WebDriver-client thực hiện kiểm thử trên một thiết bị ở xa thông qua remoteWebDriver. RemoteWebDriver giống như WebDriver thông thường của bạn, ngoại trừ hai thành phần của nó là Máy khách (test script của bạn) và Máy chủ (một servlet Java thực sự thực hiện kiểm thử trên thiết bị từ xa).

Trong test script của mình, bạn xác định ‘khả năng mong muốn’ (thiết bị, nền tảng, trình duyệt, v.v.) của nút nơi thử nghiệm sẽ thực hiện. Hub nhận tập lệnh này, chạy qua các nút đã đăng ký để tìm một nút phù hợp với các khả năng mong muốn và chỉ định kiểm thử cho nó để thực thi.

Lưu ý: Việc thiết lập Grid khá dễ dàng, nhưng việc mở rộng quy mô, cấu hình và duy trì tính toàn vẹn của nó có thể chiếm nhiều tài nguyên. Hãy chắc chắn sẽ áp dụng nó sau khi xem xét cẩn thận.

Selenium IDE

Selenium IDE là một plugin của Chrome và Firefox có thể ghi lại các tương tác ‘tự nhiên’ trong trình duyệt và tạo code của nó bằng các ngôn ngữ lập trình như C#, Java, Python và Ruby, cũng như Selenese (ngôn ngữ script riêng của Selenium).

Tester có thể bật ‘recording’ trong IDE và ‘phát’ kịch bản kiểm thử trên trình duyệt. Sau đó, IDE có thể phát lại các tương tác đó và đánh dấu bất kỳ lỗi nào (trong khi phát lại) bằng màu đỏ.

Hãy nhớ rằng mặc dù plugin nhanh chóng và hữu ích, nhưng code được tạo ra thường quá lộn xộn để được sử dụng trong các test script tự động hóa. Vì vậy, hãy sử dụng nó để tạo mẫu prototype nhanh, nhưng để kiểm tra nhiều trình duyệt một cách nghiêm túc hơn, chúng tôi khuyên bạn nên sử dụng Selenium WebDriver.

Xem thêm >> NGINX là gì? Ưu nhược điểm của nó so với Web server khác

Lịch sử hình thành Selenium

Một timeline về các sự kiện chính trong quá trình phát triển của Selenium từ một dự án phụ nội bộ thành một tiêu chuẩn công nghiệp nguồn mở trong tự động hóa trình duyệt:

2004: Làm nên lịch sử trong hai phần (từ Selenium A đến B)
  • Jason Huggins của ThoughtWorks cần kiểm tra hành vi giao diện người dùng trong ứng dụng web của mình trên các trình duyệt khác nhau.
  • Anh ấy phát triển một công cụ hoạt động bằng cách đưa JavaScript vào bên dưới trang web, cho phép tester viết code có thể ‘tự động hóa’ các tương tác của front-end UI. Điều này đã trở thành JavaScript TestRunner.
  •  Mặc dù cách tiếp cận JS-injection không thể sao chép một cách tự nhiên các tương tác của người dùng (thông qua tổ hợp phím/di chuyển chuột), nhưng đó là một giải pháp cho ‘same-host origin policy – SOP’, cấm code JavaScript bên ngoài truy cập vào các phần tử từ một miền mà ban đầu nó không reside trong đó. Tuy nhiên, công cụ này lại được các nhà phát triển nội bộ cũng như khách hàng của ThoughtWorks đón nhận tích cực.
  • Công cụ này có nguồn mở do nhu cầu phổ biến.
  • Để loại bỏ nhu cầu JS-injection, Huggins cùng với đồng nghiệp Paul Hammant thảo luận về khả năng của một server component (thành phần máy chủ). Máy chủ này sẽ hoạt động như một proxy HTTP và đánh lừa browser-instance (phiên bản trình duyệt) tin rằng test script và ứng dụng web đang kiểm thử là từ cùng một nguồn.
  • Họ phát triển server component này bằng Java và client-side driver gốc (TestRunner) được chuyển sang Ruby.
  • Đây là phiên bản Selenium đầu tiên, được gọi là Driven Selenium hoặc Selenium B trong timeline tiến hóa.
2005: Selenium RC (Điều khiển từ xa)
  • Ở những nơi khác (cụ thể là tại Bea), Dan Fabulich và Nelson Sproul bắt đầu làm việc trên driver coder (trình viết mã trình điều khiển). Cuối cùng, họ biến nó thành một máy chủ độc lập nhằm đóng gói MortBay’s Jetty làm proxy HTTP.
  • Đây trở thành ‘Selenium RC (Điều khiển từ xa)’ hoặc Selenium 1.0. 
2006: Selenium IDE
  • Shinya Kasatani đóng gói Selenium driver code trong một mô-đun IDE trong trình duyệt Firefox.
  • Khi nó hoạt động, anh ta thấy rằng anh ta có thể chạy một bản ‘kiểm thử chức năng trực tiếp’ trên một trang web — tương tác với trình duyệt (như người dùng sẽ làm); ghi lại/phát lại các tương tác và gỡ lỗi khi cần thiết.
  • Kasatani tặng công cụ này cho dự án Selenium, nơi nó được gọi là Selenium IDE.
2007: Selenium WebDriver (Selenium 2.0)
  • Trở lại ThoughtWorks, Simon Stewart siêng năng mã hóa các ‘driver’ client riêng biệt cho tất cả các trình duyệt phổ biến, vì vậy tất cả chúng đều hỗ trợ tự động hóa với các khả năng của trình duyệt gốc.
  • Nó đã kiếm được bội tiề. Dự án trở nên nổi tiếng với cái tên WebDriver.
2008: Nhân với ‘n’: Selenium Grid
  • Tại ThoughtWorks, Philippe Hanrigou tạo ra một máy chủ cho phép tester truy cập và chạy thử nghiệm trên các phiên bản trình duyệt với bất kỳ số lượng thiết bị từ xa nào.
  • Nó được gọi là Grid. 
2016: Selenium 3.0

Selenium RC không được dùng nữa và WebDriver trở thành triển khai tiêu chuẩn — hay còn gọi là Selenium 3.0.

2019: Giao thức W3C

WebDriver trở thành một giao thức chuẩn W3C.

2021: Selenium 4 được phát hành

Vào ngày 13 tháng 10 năm 2021, Selenium 4.0 chính thức được phát hành.

Tại sao tôi cần Kiểm thử Tự động hóa Selenium?

Selenium là gì?
Selenium là gì? Tại sao tôi cần Kiểm thử Tự động hóa Selenium?

Hãy tưởng tượng rằng trình kiểm thử thủ công có thể gặp trường hợp này: Kiểm thử xem trang đăng ký của ứng dụng web (www.example.com/signup) có xác thực các input string và đăng ký thành công người dùng trong các phiên bản mới nhất của Chrome và Firefox, trên Windows 7 hay không.

Giả sử rằng trang đăng ký có các trường nhập này — tên người dùng, địa chỉ email và mật khẩu. Người kiểm thử sẽ nhận được màn hình nền Windows 7 và làm theo các bước sau liên tiếp trên các phiên bản Chrome và Firefox mới nhất:

  1. Nhập URL vào thanh địa chỉ (www.example.com/signup)
  2. Nhập một chuỗi không hợp lệ trong mỗi trường nhập (email, tên người dùng và mật khẩu)
  3. Kiểm tra xem các chuỗi đầu vào đã được xác thực theo các regex tương ứng và liệu có bất kỳ giá trị nào tồn tại từ trước trong cơ sở dữ liệu hay không
  4. Nhập các chuỗi ‘hợp lệ’ vào mỗi trường đầu vào; bấm Đăng ký
  5. Kiểm tra xem trang “Chào mừng”, {‘tên người dùng’} ‘“có hiển thị không
  6. Kiểm tra xem cơ sở dữ liệu hệ thống có tạo userID mới cho ‘{‘ tên người dùng ‘}’ hay không
  7. Đánh dấu bài kiểm tra là ‘passed’ nếu nó đúng, ‘failed’ nếu tính năng đăng ký bị hỏng ở bất kỳ đâu trong quá trình kiểm thử.

Đó là một bài kiểm thử hệ thống rất cơ bản. Trong thế giới thực, những tester có nhiều khả năng đang kiểm tra tất cả các quy trình làm việc của người dùng trên www.example.com để tìm sự cố, trên nhiều tổ hợp hệ điều hành-trình duyệt nhất có thể để đáp ứng các tiêu chuẩn tương thích benchmark.

Tùy thuộc vào số lượng tester thủ công (và mức độ kỹ lưỡng của các trường hợp kiểm thử), có thể mất khoảng vài giờ đến vài tuần để đảm bảo rằng ứng dụng web hoạt động đầy đủ.

Các nhà phát triển và nhóm product hiện đại không có nhiều thời gian để phân bổ cho kiểm thử, nhưng họ cũng không thể bỏ qua kiểm thử toàn diện khi vội vàng phát hành. Đây là lý do tại sao họ super-charge quá trình kiểm thử của họ bằng tự động hóa, được cung cấp bởi Selenium.

Cách thử nghiệm Selenium thúc đẩy sự phát triển Agile

Agile là gì?

Agile là một phương pháp luận cho phát triển phần mềm. Nó bắt đầu với phiên bản làm việc đơn giản nhất của thiết kế sản phẩm — một phiên bản có thể được cải tiến liên tục.

Dưới đây là quy trình làm việc Agile điển hình trông như thế nào:

  • Các bên liên quan đồng ý về thiết kế ‘làm việc đơn giản nhất’ của sản phẩm.
  • Thiết kế được chia thành các mô-đun nhỏ hơn.
  • Mỗi mô-đun được chỉ định cho một nhóm đa chức năng gồm các developer, designer và nhân viên Đảm bảo chất lượng (QA).
  • Các nhóm làm việc theo Sprint để tạo các mô-đun của họ trong một khung thời gian (‘iteration – lặp lại’) – khoảng từ một đến bốn tuần.
  • Vào cuối mỗi lần lặp, các mô-đun đã hoàn thành được ghép lại với nhau. Các kiểm thử được chạy và một sản phẩm chức năng (với lượng bug tối thiểu) được chứng minh cho các bên liên quan .
  • Các bên liên quan đánh giá mức độ ưu tiên của dự án, thêm phản hồi của khách hàng và điều chỉnh khi cần thiết.

Toàn bộ chu trình bắt đầu lại với lần lặp tiếp theo cùng một tập hợp các mô-đun mới. Một sản phẩm ‘sẵn sàng cho thị trường’ hoặc một tính năng mới sẽ luôn cần nhiều lần lặp lại.

Tự động hóa kiểm thử nghiệm xuất hiện ở đâu:
  • QAs được tham gia ngay từ giai đoạn đầu để chạy một loạt các bài kiểm thử đơn vị và nghiệm thu trên các mô-đun.
  • Các bài kiểm thử tích hợp trên mỗi lần lặp lại đảm bảo rằng các mô-đun được mã hóa riêng biệt không bị break khi ghép lại với nhau.
  • Mỗi lần lặp mới yêu cầu kiểm thử hồi quy (vì vậy nó không phá vỡ lần lặp làm việc trước đó).

Điều cần thiết là phải theo dõi code cũng như các test case, vì vậy tất cả các lần lặp đều được ghi lại đầy đủ. Khi nói về chủ đề này, bạn nên lưu ý rằng kiểm thử lặp lại này là một chủ đề luôn tồn tại trong bất kỳ sub-category nào của sự phát triển nhanh chóng và lặp đi lặp lại dựa trên Agile, như CI/CD.

Xem thêm >> Top 8 font chữ việt hóa cho powerpoint đẹp mắt nhất

Cách Kiểm tra Selenium là Toàn vẹn với CI/CD

CI/CD là gì? CI/CD, tiếng Việt là tích hợp/phân phối liên tục, ưu tiên phân phối các bản phát hành mới của một bản dựng theo cách thường xuyên và nhanh chóng. Một dự án đã khởi chạy vẫn luôn open để lặp lại liên tục (như Agile).

Sự khác biệt duy nhất là: dự án luôn sẵn sàng để được phân phối (thay vì chờ đợi các lần lặp lại để chạy quá trình của chúng).

CI/CD pipeline trông giống như sau:

  • Một nhà phát triển có code mà họ muốn tích hợp vào dự án
  • Máy chủ CI bên ngoài thực hiện kiểm tra ‘tích hợp’ — nó lấy các source file và cố gắng thực hiện một bản dựng với code mới.
  • Nếu quá trình build hoàn tất thành công, máy chủ sẽ đóng gói các thay đổi với các source file. Nếu không, máy chủ sẽ thông báo cho các thành viên trong nhóm.

Các công cụ CI (như Jenkins hoặc Bamboo) có bảng điều khiển hiển thị các bản dựng hiện tại và trước đó, nhật ký của các lần check-in trước đó và trạng thái của chúng (thành công/không thành công), lỗi gì (và khi nào), v.v. Mọi người vẫn được thông báo về bất kỳ thay đổi nào trong code, cơ sở hạ tầng hoặc cấu hình. Điều này đảm bảo rằng các lỗi triển khai được phát hiện (và được khắc phục) sớm.

Lưu ý: Định nghĩa giữa ‘bản dựng thành công’ và ‘bản dựng chất lượng’ có những điểm khác nhau. Ngay cả khi tích hợp mới thành công, nó vẫn chưa được coi là đã sẵn sàng xuất xưởng cho đến khi nó vượt qua một loạt bài kiểm thử của các kỹ sư QA. Đó là lúc thử nghiệm tự động hóa với Selenium trở nên hữu ích.

Selenium tự động kiểm tra chức năng, hiệu suất và khả năng tương thích một cách thường xuyên và lặp lại. Điều này cung cấp cho các nhà phát triển những phản hồi gần như tức thì để gỡ lỗi nhanh hơn, giúp họ có nhiều thời gian hơn để viết code logic nghiệp vụ cho các phiên bản/tính năng mới hơn.

Phát triển web hiện đại cần kiểm thử Selenium vì:

  • Nó tự động kiểm thử lặp lại các thành phần nhỏ hơn của một code-base lớn
  • Nó không thể thiếu đối với agile development và CI/CD
  • Nó giải phóng tài nguyên khỏi manual test
  • Nó đáng tin cậy; bắt được những lỗi mà tester có thể bỏ sót
  • Nó có thể cung cấp phạm vi kiểm thử lớn
  • Nó chính xác; báo cáo lỗi có thể tùy chỉnh là một điểm cộng bổ sung
  • Nó có thể tái sử dụng; bạn có thể cấu trúc lại và sử dụng lại test script end-to-end mỗi khi một tính năng mới được triển khai.
  • Nó có thể mở rộng; theo thời gian, bạn có thể phát triển một thư viện rộng lớn gồm các test case có thể lặp lại cho một sản phẩm

Những loại Kiểm thử nào có thể được Tự động hóa với Selenium?

Selenium là gì?
Selenium là gì? Những loại Kiểm thử nào có thể được Tự động hóa với Selenium?

Các loại kiểm thử thường được tự động hóa với Selenium là:

Kiểm tra khả năng tương thích

Được thực hiện bởi các chuyên gia QA/tester để đảm bảo rằng ứng dụng web đáp ứng các tiêu chuẩn hiệu suất trên các tổ hợp trình duyệt – hệ điều hành khác nhau. Ví dụ: kiểm thử trên các thiết bị khác nhau (thiết bị di động và máy tính để bàn) để đảm bảo rằng giao diện người dùng phù hợp với quy mô (responsive); kiểm thử trên các trình duyệt khác nhau để xem liệu quảng cáo video có hiển thị trên các trang đúng như chúng ta cần hay không.

Kiểm thử hiệu suất

Một loạt các bài kiểm thử được thực hiện bởi các chuyên gia QA/tester để đảm bảo rằng dự án đáp ứng các tiêu chuẩn hiệu suất do các bên liên quan đặt ra. Tester viết một tập lệnh để kiểm tra xem tất cả các phần tử trên trang chủ có tải trong vòng 2 giây trên các trình duyệt/phiên bản trình duyệt khác nhau hay không.

Thử nghiệm tích hợp

Được các nhà phát triển thực hiện để xác minh rằng các đơn vị mô-đun được mã hóa riêng biệt (tự hoạt động), cũng hoạt động khi được đặt cùng nhau. Ví dụ, Parallel Test Calculator có các lớp riêng biệt. Giao diện người dùng nhận input và logic nghiệp vụ tính toán output — sau đó gửi lại giao diện người dùng để hiển thị. Tester có thể xác minh xem liệu họ có thể chuyển tiếp data/output khi được tích hợp hay không.

Kiểm thử hệ thống

Hay còn gọi là kiểm thử Hộp đen. Được thực hiện bởi các chuyên gia QA/tester mà không có ngữ cảnh của code hoặc bất kỳ kiểm thử nào đã thực hiện trước đó. Thường tập trung vào quy trình làm việc của một người dùng. Ví dụ: quy trình thanh toán trên trang web sản phẩm bao gồm: xác thực thông tin đăng nhập của người dùng, tìm nạp sản phẩm từ giỏ hàng, kiểm tra tính khả dụng của chúng và xác thực chi tiết thanh toán — trước khi chuyển hướng đến trang web ngân hàng. Tester có thể viết một tập lệnh để xác minh rằng toàn bộ hệ thống đang hoạt động.

Kiểm thử End-to-end

Cũng được thực hiện bởi các chuyên gia QA/tester, thường theo quan điểm của người dùng. Mục đích là để xác minh rằng tất cả các điểm tiếp xúc trên ứng dụng web đều hoạt động. Từ ví dụ trước, tester có thể viết một loạt các test case để kiểm tra rằng đăng ký, tìm kiếm sản phẩm, thanh toán, đánh giá, đánh dấu trang và tất cả các tính năng khác hoạt động như dự định (và không thành công khi các giá trị không hợp lệ được nhập vào các trường input).

Kiểm thử hồi quy

Một loạt các kiểm thử được thực hiện để đảm bảo rằng các tính năng mới được xây dựng hoạt động tốt trong hệ thống hiện có. Từ ví dụ tương tự, giả sử trang web sản phẩm khởi chạy một tính năng mới (mã khuyến mại) tự động áp dụng cho các mặt hàng đủ điều kiện trước khi thanh toán. Tester có thể viết các case để xác minh rằng nó không phá vỡ phần còn lại của tính năng thanh toán.

Các bộ kiểm thử được viết tốt cũng có thể tự động kiểm thử Smoke và Sanity bằng Selenium.

Lưu ý: Kiểm tra Selenium không có nghĩa là để thay thế kiểm tra thủ công. Tự động hóa kiểm thử, theo đúng định nghĩa của nó, tự động hóa điều mà không cần đến sự đánh giá của con người. Bạn không thể tự động hóa việc kiểm tra giao diện người dùng mới được cải tiến của mình về human-usability. Nhưng đối với mọi thứ khác, Selenium gần như có thể làm hết.

Xem thêm >> Cách chỉnh ảnh trên iPhone đẹp như chụp bằng máy ảnh

Ai nên sử dụng Selenium?

Câu trả lời ngắn gọn: Tất cả những ai quan tâm đến tình trạng thái của ứng dụng web của họ.

Một phần lý do tại sao Selenium rất phổ biến là nhờ tính linh hoạt của nó. Bất kỳ ai viết code cho web đều có thể sử dụng Selenium để kiểm thử code/ứng dụng của họ – từ các nhà phát triển tự do cá nhân đang chạy một loạt các bài kiểm thử nhanh để gỡ lỗi cho đến các kỹ sư giao diện người dùng thực hiện các bài kiểm thử hồi quy trực quan sau một tích hợp mới.

Trong môi trường doanh nghiệp, việc kiểm thử với Selenium thuộc trách nhiệm của các kỹ sư QA. Họ được giao nhiệm vụ viết các tập lệnh tập trung, không lỏng lẻo để tối đa hóa phạm vi kiểm tra và độ chính xác, cấu trúc lại các bộ kiểm thử cũ cho các phiên bản mới hơn của dự án và duy trì cơ sở hạ tầng kiểm thử (từ Hub đến thư viện test-case).

Họ sẽ là những người tạo ra các test suite (bộ thử nghiệm) toàn diện để xác định các lỗi ‘show-stopper’ và tư vấn cho các bên liên quan về việc cập nhật các tiêu chuẩn hiệu suất cho dự án. Mục tiêu cuối cùng của họ là đảm bảo phạm vi và hiệu quả kiểm thử tối đa, nhờ đó nâng cao năng suất tổng thể của các kỹ sư trong công việc.

Tôi có thể chạy Selenium trên những trình duyệt nào?

Hầu hết các trình duyệt trên máy tính để bàn/thiết bị di động ngày nay đều có hỗ trợ tích hợp để kiểm thử tự động với Selenium. Các nhà cung cấp trình duyệt dành cho người tiêu dùng như Firefox, Chrome, Safari, IE và Opera phát triển và cung cấp trình điều khiển cho trình duyệt của họ.

Trong những năm kể từ lần đầu tiên nó có nguồn mở, những người khác đã đóng góp vào dự án Selenium bằng cách thêm trình điều khiển của bên thứ ba cho các trình duyệt chuyên biệt như BlackBerry 10 và HtmlUnit, cũng như các binding để tích hợp với các framework phát triển như PhantomJS, Qt, v.v.

Tương lai của Selenium

Selenium gần đây đã phát hành phiên bản mới nhất của công cụ này – với tên gọi Selenium 4. Bản nâng cấp này đi kèm với các tính năng như Selenium Grid nâng cao, Selenium IDE3 được nâng cấp, bộ relative locator trong Selenium 4, debugging protocol Chrome, Quản lý cửa sổ/tab tốt hơn và hơn thế nữa.

Qua bài viết trên, Hỏi đáp Công nghệ hi vọng bạn đã có cái nhìn sâu sắc hơn cho câu hỏi Selenium là gì, cách nó được hình thành và hoạt động cũng như những ứng dụng của nó trong lĩnh vực kiểm thử phần mềm. Nếu các bạn thấy bài viết có ích, hãy chia sẻ cho bạn bè của mình nữa nhé!

Các bài viết liên quan

3 thoughts on “Selenium là gì? Định nghĩa, cách hoạt động và lợi ích của Selenium”

  1. I must thank you for the efforts you have put in writing this blog. Im hoping to check out the same high-grade blog posts from you in the future as well. In fact, your creative writing abilities has encouraged me to get my own, personal site now 😉

  2. חדש בישראל ! מכשיר להסרת שיער בלייזר IPRO
    15 עם IPRO 15 מכשיר להסרת שיער תוכלו להסיר שיער בכל מקום ובכל זמן מכשיר להסרת שיער
    ביתי נח וקל לשימוש למכשיר יש
    35% יותר עוצמה מדגמים קודמים,
    וכך הוא שובר שיאים ומפחית צמיחת שיער משמעותית בתוך 6-8 שבועות.
    חברת “עידן חדש מוצרי פרסום ומתנות” עוסקת בפיתוח
    ושיווק מוצרי פרסום, מתנות לגים ולאירועים במגזר העסקי
    והפרטי. תוכלו לתת להם גימיקים למחשב, מתנות מיוחדות לעובדים, חולצות רקומות
    לטובת עסק. כך תוכלו ליהנות מפגישה דיסקרטית משחררת באחת מהדירות הדיסקרטיות בצפון הארץ.

    החברה ממוקמת בפתח תקווה ומעניקה שירות בכל רחבי הארץ.

    משה סיון הוא עו”ד ונוטריון בעל משרד עו”ד בפתח
    תקווה, המתמחה במיוחד בדיני ירושה, צוואות והסכמי ממון.

    משרד עורכי דין ונוטריון יובל חן עוסקים באזרחות
    גדמנית, נדלן בגרמניה, החזרי
    מס מגרמניה, השבת רכוש ועוד!

    משרדו של עורך דין איתי שבח בעפולה מציע מגוון של שירותים משפטיים ללקוחות פרטיים וקבלנים בצפון.
    יועץ מס מיומן ומקצועי המעניק שירות אישי
    מיוחד ללקוחות עצמאים ושכירים באזור רמת גן, בני ברק
    וגבעתיים. חברת אקטיב מתמחה בהתקנה
    ותחזוקה של מערכות מתקדמות,
    תוך רמת שירות גבוהה ביותר. בקליניקה פרטית בבית שמש
    יש לכם אפשרות להתנתק מהסביבה המוכרת לכם, תוך שאתם זוכים לעיסוי המתבצע
    בחלל נעים, מבושם ומאד מרגיע.

  3. העיסוי מקצועי ברמת הגולן עוזר לאושש את השרירים
    מהר יותר, לשפר את מחזוריות הדם והחמצן בגוף, לשחרר חומצות המצטברות
    בשרירים ופוגעות בהם ועוד. ●
    עיסוי כוסות רוח – טיפול מסורתי מבית
    סבתא (אבל כיום משמש בעיקר ברפואה הסינית) אשר נעשה על ידי הנחת כוסות חמות
    על אזורים ממוקדים בגוף, כדי ליצור ואקום, אשר לפי האמונה, משחרר כאבים, שרירים
    תפוסים ואף מקל על מצבים כרוניים שונים.

    לרשותך צוות מעסים מקצועי ומיומן אשר מעניק שירות מסאז’ עד הבית
    – המעסה יגיע עד אליך ויסייע לך לחוש רגיעה, לשחרר מתחים,
    להאיץ את זרימת הדם, להגדיל את טווח תנועת שרירים, ולשפר
    את ההרגשה הכללית ומצב הרוח בנוחות של הבית.
    אם אתה גבר הומוסקסואל והגעת עד כאן, סביר להניח שאתה יודע מה אתה צריך.
    בין אם אתם זוג צעיר או זוג מהמגזר הדתי, תוכלו למצוא עשרות חדרים להשכרה בירושלים או באזור ירושלים, המציעים אירוח פרטי ואיכותי לצורך בילוי זוגי, הצעת נישואין, לצורך פגישת עסקים, לצורך חגיגת יום הולדת או כל מטרה אחרת שבה אנו זקוקים לאווירה נעימה.
    חבר התקשר אליי, הוא סיפר לי שהחלום שלי יכול להתגשם ולא הבנתי על מה הוא מדבר, הוא סיפר לי על מפגשים לוהטים באחת מאותן דירות דיסקרטיות מושלמות עם נערות ליווי בירושלים מדהימות .

Leave a Comment

Email của bạn sẽ không được hiển thị công khai.

Bài viết liên quan