Nếu bạn đã bước vào thế giới lập trình, có thể bạn đã nghe nói về Selenium. Nếu bạn đang xem Selenium Tutorial với các câu hỏi phỏng vấn thì bạn có thể đã quá quen thuộc với cấu trúc này. Ngày nay, rất nhiều nhà tuyển dụng đang tìm kiếm các lập trình viên và nhà phát triển thành thạo hay chí ít có chút kinh nghiệm với Selenium webdriver. Sẽ là không đủ nếu bạn chỉ biết Selenium được sử dụng cho mục đích gì - bạn cần phải thể hiện kỹ năng của mình.
Chúng ta sẽ bắt đầu Selenium Tutorial ngay từ đầu và bàn về một số câu hỏi và câu trả lời giới thiệu cơ bản. Sau đó, tôi sẽ đưa ra ví dụ một số câu hỏi nâng cao hơn mà người phỏng vấn có thể hỏi. Cuối cùng, chúng ta sẽ xem qua một số lời khuyên chung mà bạn có thể sử dụng trong khi thực hành cho cuộc phỏng vấn của mình.
Mục lục
- 1. Giới thiệu - Các câu hỏi căn bản
- 1.1. Trước khi bắt đầu - Selenium là gì?
- 1.2. Câu hỏi 1: Thử nghiệm tự động hóa là gì?
- 1.3. Câu hỏi 2: Hai dạng thử nghiệm được hỗ trợ bởi Selenium là gì?
- 1.4. Câu hỏi 3: Selenium webdriver là gì?
- 1.5. Câu hỏi 4: Ba phiên bản chính của Selenium là gì?
- 1.6. Câu hỏi 5: ‘Selenese’ là gì?
- 1.7. Câu hỏi 6: Selenium hỗ trợ các trình duyệt nào?
- 1.8. Câu hỏi 7: ‘element’ là gì?
- 1.9. Mỗi đối tượng hiện diện trên trang web được gọi là một element (yếu tố).
- 1.10. Câu hỏi 8: Tại sao mọi người sử dụng Selenium IDE trong khi có các phiên bản framework tốt hơn?
- 1.11. Câu hỏi 9: ‘Selenium Grid’ được sử dụng làm gì?
- 1.12. Câu hỏi 10: Hệ điều hành nào hỗ trợ Selenium?
- 1.13. Câu hỏi 11: Sự khác biệt chính giữa lệnh ‘assert’ và ‘verify’ là gì?
- 1.14. Câu hỏi 12: Sự khác biệt giữa soft assert và hard assert là gì?
- 1.15. Câu hỏi 13: Theo bạn, những điểm tiêu cực chính của Selenium là gì?
- 1.16. Câu hỏi 14: Những lợi thế chính của POM (Mô hình đối tượng trang) là gì?
- 1.17. Câu hỏi 15: Kể tên các loại định vị khác nhau trong Selenium
- 2. Các câu hỏi và trả lời nâng cao
- 2.1. Câu hỏi 16: Làm thế nào để truy xuất các thuộc tính yếu tố nhất định từ CSS đến Selenium?
- 2.2. Câu hỏi 17: Làm thế nào để cuộn xuống trang bằng JavaScript?
- 2.3. Câu hỏi 18: Làm thế nào để chụp ảnh màn hình với Selenium Webdriver?
- 2.4. Câu hỏi 19: Làm thế nào để tải lên một tập tin thông qua Selenium Webdriver?
- 2.5. Câu hỏi 20: Junit là gì?
- 2.6. Câu hỏi 21: Có bao nhiêu thông số bạn phải đáp ứng để Selenium vượt qua bài thử nghiệm? Những thông số này là gì?
- 2.7. Câu hỏi 22: Làm thế nào để xác định một đối tượng với Selenium?
- 2.8. Câu hỏi 23: Làm thế nào để tìm thấy các liên kết bị hỏng trên một trang web với Webdriver?
- 2.9. Câu hỏi 24: Sự khác biệt giữa “/” và “//” là gì?
- 2.10. Câu hỏi 25: Sự khác biệt giữa ‘Implicit wait’ và ‘Explicit wait’?
- 2.11. Câu hỏi 26: Cách bỏ qua một phương thức kiểm tra trong TestNG?
- 2.12. Câu hỏi 27: Những hạn chế tự động hóa trong Selenium là gì?
- 2.13. Câu hỏi 28: Kể ra ít nhất hai loại tệp được sử dụng làm nguồn cho framework.
- 2.14. Câu hỏi 29: Selenium IDE được mở bởi hai loại nào?
- 2.15. Câu hỏi 30: Làm thế nào để chèn một tài liệu vào một tài liệu khác?
- 3. Một vài bí kíp
- 3.1. Trước buổi phỏng vấn
- 3.2. Trong cuộc phỏng vấn
- 3.3. Sau cuộc phỏng vấn
- 4. Kết luận
Giới thiệu - Các câu hỏi căn bản
Để bắt đầu, tôi sẽ cung cấp cho bạn một vài câu hỏi phỏng vấn Selenium cơ bản trong hướng dẫn Selenium Tutorial mà bạn có thể được hỏi trong cuộc phỏng vấn xin việc. Và khi tôi ‘cơ bản’, ý tôi là đây sẽ là các câu hỏi nhà tuyển dụng tiềm năng thường hay hỏi trong các cuộc phỏng vấn. Họ muốn kiểm tra kiến thức chung của bạn về framework và nếu họ thấy bạn tương đối hiểu biết, họ sẽ chuyển sang một số câu hỏi khó hơn (mà chúng ta sẽ đề cập sau).
Ưu đãi mới nhất đang hoạt động ngay bây giờ:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Trước khi bắt đầu - Selenium là gì?
Selenium là một framework thử nghiệm ứng dụng web miễn phí, mã nguồn mở. Bất kỳ nhà phát triển nào cũng có thể tải Selenium, thực hiện các thay đổi và chỉnh sửa được mong muốn cho nó - đó là một framework thử nghiệm phần mềm web được mong muốn và yêu thích.
Điều này cũng trả lời cho câu hỏi ‘Selenium dùng để làm gì?’ Và đây có thể là một trong những câu hỏi phỏng vấn Selenium đầu tiên giới thiệu trong Selenium Tutorial này, bạn sẽ nhận được. Nó cung cấp cho người dùng khả năng kiểm tra ứng dụng web đầy đủ. Tuy nhiên, một trong những tính năng chính cho thấy sự phổ biến của Selenium nằm ở tính đơn giản của việc sử dụng framework. Selenium không yêu cầu bất kỳ kiến thức về ngôn ngữ kịch bản để sử dụng. Nó cũng hỗ trợ hầu hết các ngôn ngữ lập trình phổ biến (C #, Java, Python, PHP, v.v.).
Câu hỏi 1: Thử nghiệm tự động hóa là gì?
Thử nghiệm tự động hóa là một chủ đề rất phổ biến, được cung cấp bởi Selenium.
Thử nghiệm tự động hóa cho phép lập trình viên kiểm tra phần mềm được mã hóa của mình bằng một công cụ kiểm tra tự động (như Selenium). Việc này giúp loại bỏ nhu cầu kiểm tra thủ công - đây được coi là một lợi thế rất lớn nếu bạn có thể sử dụng chương trình thử nghiệm tự động hóa.
Một trong những câu hỏi phỏng vấn Selenium tiếp theo trong Selenium Tutorial nàycó thể là - đâu là lợi ích của thử nghiệm tự động hóa? Thành thật mà nói, có rất nhiều lợi ích, mà tôi đưa ra một vài ví dụ nổi bật hơn cả: đáng tin cậy hơn nhiều so với thử nghiệm thủ công (không có chỗ cho lỗi của con người), tiết kiệm rất nhiều thời gian và thậm chí tiết kiệm nhiều tiền hơn , giá rẻ hơn so với thử nghiệm thủ công, vv
Câu hỏi 2: Hai dạng thử nghiệm được hỗ trợ bởi Selenium là gì?
Thử nghiệm chức năng và hồi quy.
Câu hỏi 3: Selenium webdriver là gì?
Bạn có khả năng cao bị hỏi những câu hỏi liên quan đến Selenium webdriver - đó là một phần quan trọng của Selenium. Trong Selenium Tutorial này, chúng ta hãy thử tìm hiểu thêm.
Selenium webdriver cho phép lập trình viên kiểm tra các ứng dụng web khác nhau cả cục bộ và từ xa như một người dùng thực sự - đây là một bước nhảy vọt lớn trong sự tiến bộ của framework.
Câu hỏi 4: Ba phiên bản chính của Selenium là gì?
Trong các câu hỏi phỏng vấn Selenium, bạn có thể được hỏi các phiên bản của nó là gì. Do đó bạn cần biết đó là Selenium IDE, Selenium RC và Selenium Webdriver.
Câu hỏi 5: ‘Selenese’ là gì?
Selenese là ngôn ngữ mà các tập lệnh cho Selenium IDE được viết.
Câu hỏi 6: Selenium hỗ trợ các trình duyệt nào?
Điều này phụ thuộc vào phiên bản Selenium. Selenium IDE chỉ hỗ trợ một trình duyệt duy nhất - Firefox. Selenium RC hỗ trợ Chrome, Explorer, Firefox và Opera, trong khi đó, Selenium Webdriver, mặt khác, hỗ trợ hầu hết các trình duyệt web chính thống trên thị trường.
Câu hỏi 7: ‘element’ là gì?
Mỗi đối tượng hiện diện trên trang web được gọi là một element (yếu tố).
Câu hỏi 8: Tại sao mọi người sử dụng Selenium IDE trong khi có các phiên bản framework tốt hơn?
Mặc dù câu hỏi này có vẻ lạ nhưng lý do đặc biệt để mọi người tiếp tục sử dụng Selenium IDE - chính là sự đơn giản.
Phiên bản IDE của framework rất dễ sử dụng và có đường cong học tập cực kỳ thấp. Nó hoàn toàn phù hợp với những người mới bắt đầu lập trình và chưa có ý tưởng vững chắc về những gì mình làm.
Câu hỏi 9: ‘Selenium Grid’ được sử dụng làm gì?
Selenium Grid cho phép bạn kiểm tra nhiều trang web (ứng dụng web) cùng một lúc và sau đó so sánh các khung thời gian sau đó. Điều này giúp cho thấy trang web của bạn hoạt động tốt như thế nào.
Câu hỏi 10: Hệ điều hành nào hỗ trợ Selenium?
Tất cả ba hệ điều hành chính - Windows, Apple và Linux.
Câu hỏi 11: Sự khác biệt chính giữa lệnh ‘assert’ và ‘verify’ là gì?
Assert sẽ dừng quá trình thử nghiệm của trang nếu phát hiện thấy một số yếu tố bị thiếu, trong khi verify sẽ tiếp tục quá trình thử nghiệm cho dù bất kể điều gì.
Câu hỏi 12: Sự khác biệt giữa soft assert và hard assert là gì?
Soft assert sẽ chạy thử nghiệm và không đưa ra ngoại lệ nếu assert đó thất bại, trong khi hard assert sẽ đưa ra ngoại lệ ngay lập tức, và sau đó tiếp tục quá trình thử nghiệm.
Câu hỏi 13: Theo bạn, những điểm tiêu cực chính của Selenium là gì?
Câu trả lời cho các câu hỏi phỏng vấn như vậy hoàn toàn phụ thuộc vào bạn - một số người có thể thấy rằng Selenium chỉ hỗ trợ các ứng dụng web gây phiền toái, những người khác - lại thấy khó khăn trong việc duy trì các đối tượng. Không có nhiều câu hỏi phỏng vấn Selenium cho phép tự do bày tỏ ý kiến, đây là một trong số đó.
Câu hỏi 14: Những lợi thế chính của POM (Mô hình đối tượng trang) là gì?
Có hai ưu điểm đáng chú ý - nó cải thiện khả năng đọc mã Code và có thể sử dụng lại.
Câu hỏi 15: Kể tên các loại định vị khác nhau trong Selenium
Có nhiều bộ định vị khác nhau được sử dụng trong Selenium framework, có thể kể tên một vài trong số đó như: ID, Name, Xpath, LinkText, DOM, v.v.
Các câu hỏi và trả lời nâng cao
Phía trên là 15 ví dụ những câu hỏi phỏng vấn Selenium cơ bản nhất. Như đã đề cập, hãy chuẩn bị những câu hỏi tương tự sẽ được hỏi vào đầu cuộc phỏng vấn.
Bây giờ, chúng ta sẽ chuyển sang các câu hỏi phỏng vấn nâng cao hơn về Selenium trong Selenium Tutorial này. Khi nhà tuyển dụng tiềm năng đã thấy bạn biết một vài điều về Selenium và cách thức nó hoạt động, họ cũng sẽ muốn kiểm tra trình độ kỹ năng của bạn với framework - điều này có thể đưa đến các câu hỏi mở rộng, nhiệm vụ code, v.v.
Câu hỏi 16: Làm thế nào để truy xuất các thuộc tính yếu tố nhất định từ CSS đến Selenium?
Bạn có thể truy xuất các thuộc tính yếu tố bằng cách sử dụng get ().
Câu hỏi 17: Làm thế nào để cuộn xuống trang bằng JavaScript?
Để làm được, bạn phải thực thi hàm window.scrollBy().
Ví dụ:
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,750)");
Câu hỏi 18: Làm thế nào để chụp ảnh màn hình với Selenium Webdriver?
Một câu hỏi phỏng vấn Selenium khác - bạn có thể nhận được khá nhiều trong số này.
Để chụp ảnh màn hình, bạn sẽ phải sử dụng chức năng TakeScreenshot. Sau đó, bạn có thể lưu ảnh chụp màn hình bằng cách sử dụng lệnh getScreenshotAs().
Ví dụ:
from selenium import webdriver browser = webdriver.Firefox() browser.get('http://www.bitdegree.org/') browser.save_screenshot('courses.png') browser.quit()
Câu hỏi 19: Làm thế nào để tải lên một tập tin thông qua Selenium Webdriver?
Một ví dụ cách bạn có thể làm điều đó được mô tả dưới đây. Hãy nhớ rằng bạn phải bao gồm các thẻ input và file.
element = driver.find_element_by_id(”uploaded_file")
element.send_keys("C:\pictures.png")
Câu hỏi 20: Junit là gì?
Mặc dù được phân loại là một trong những câu hỏi nâng cao hơn, câu trả lời khá đơn giản và dễ hiểu. Nó được coi là nâng cao chủ yếu vì không có nhiều người biết về nó.
Junit là một framework dựa trên Java được thiết kế để thử nghiệm đơn vị.
Câu hỏi 21: Có bao nhiêu thông số bạn phải đáp ứng để Selenium vượt qua bài thử nghiệm? Những thông số này là gì?
Đây là ý tôi muốn nói khi các câu hỏi phỏng vấn nâng cao thường có các câu hỏi tiếp nối theo đó, bạn không chỉ cần biết số lượng các tham số này mà còn phải hiểu chúng là gì.
Tổng cộng, có bốn điều kiện (tham số) để Selenium vượt qua một bài kiểm tra. Đó là: URL, máy chủ, trình duyệt và số cổng.
Câu hỏi 22: Làm thế nào để xác định một đối tượng với Selenium?
Bạn sẽ làm được bằng cách tận dụng hàm String Locator.
Câu hỏi 23: Làm thế nào để tìm thấy các liên kết bị hỏng trên một trang web với Webdriver?
Một trong những câu hỏi phỏng vấn Selenium Webdriver mẹo trong Selenium Tutorial này - người phỏng vấn bạn có thể cung cấp cho bạn một số liên kết ngẫu nhiên và yêu cầu bạn cho họ biết liên kết nào đang hoạt động tốt và cái nào bị hỏng.
Để làm như vậy, bạn sẽ phải sử dụng hàm driver.get(). Bạn sẽ phải ngụ ý các thẻ <a> và đối với mỗi <a> hiển thị, đơn giản chỉ cần chạy chức năng được đề cập trước đó dưới dạng thử nghiệm. Bất kỳ liên kết nào không quay trở lại ‘200-OK’ là bị hỏng.
Câu hỏi 24: Sự khác biệt giữa “/” và “//” là gì?
Cả “/” và “//” đều được sử dụng trong XPath. “/” được sử dụng để tạo ra cái được gọi là “đường dẫn tuyệt đối” - lựa chọn bắt đầu từ nút đầu tiên. “//” tạo ra một “đường dẫn tương đối” , nơi lựa chọn có thể bắt đầu từ bất kỳ điểm nào trong tài liệu.
Câu hỏi 25: Sự khác biệt giữa ‘Implicit wait’ và ‘Explicit wait’?
Đây là một trong những câu hỏi phỏng vấn Selenium được trả lời tốt nhất một cách đơn giản nhất có thể.
Implicit wait thực hiện các tìm kiếm liên tục và lặp đi lặp lại cho một yếu tố, trong khi explicit wait là một loại tìm kiếm một lần của một thứ.
Câu hỏi 26: Cách bỏ qua một phương thức kiểm tra trong TestNG?
Nếu bạn muốn bỏ qua một phương thức kiểm tra nào đó trong TestNG, bạn phải đặt tham số thử nghiệm đó thành “false” trong khu vực chú thích.
Câu hỏi 27: Những hạn chế tự động hóa trong Selenium là gì?
Đây là một trong những câu hỏi phỏng vấn khó hơn trong hướng dẫn Selenium Tutorial này bởi vì bạn có thể biết nó hoặc không - có rất ít chỗ cho sự sáng tạo.
May mắn thay, câu trả lời khá đơn giản - captcha và barcodes (mã vạch) là hai thứ không thể tự động hóa bằng Selenium.
Câu hỏi 28: Kể ra ít nhất hai loại tệp được sử dụng làm nguồn cho framework.
Excel và các tệp văn bản là lựa chọn phổ biến nhất khi trả lời cho câu hỏi phỏng vấn về Selenium webdriver như thế này.
Câu hỏi 29: Selenium IDE được mở bởi hai loại nào?
Selenium IDE có thể được mở ở chế độ cửa sổ hoặc chế độ thanh bên.
Câu hỏi 30: Làm thế nào để chèn một tài liệu vào một tài liệu khác?
Để làm như vậy, bạn phải sử dụng lệnh iframe.
Một vài bí kíp
Chúng ta vừa đi qua một số câu hỏi phỏng vấn Selenium cơ bản và nâng cao trong Selenium Tutorial mà nhà tuyển dụng có thể hỏi. Bây giờ, trước khi kết thúc, tôi muốn đưa ra một số lời khuyên chung chung hơn mà bạn có thể sử dụng trong một cuộc phỏng vấn xin việc, có thể với Selenium hoặc cái gì đó khác.
Trước buổi phỏng vấn
Có rất nhiều điều bạn có thể làm trước cuộc phỏng vấn thực tế để tối đa cơ hội của mình. Học chăm chỉ, nghỉ ngơi một chút, xem lại những câu hỏi - mỗi việc sẽ đem lại cơ hội cao hơn để có được công việc. Bạn có lẽ biết rất rõ mình nên làm gì...nhưng bạn có biết mình không nên làm gì không?
Bạn không nên quá sức với nó. “Nó” có nghĩa là quá trình chuẩn bị cho cuộc phỏng vấn. Chắc chắn, bạn phải chuẩn bị để bạn có thể cố gắng hết sức, nhưng nếu cuộc phỏng vấn diễn ra vào hôm nay và bạn không ngủ trong ba ngày, điều đó tốt cho ai? Cố gắng thư giãn và đối phó thông minh - xây dựng một lịch trình, nghỉ ngơi đủ và cố gắng không nghĩ về các câu hỏi và câu trả lời trong Selenium Tutorial này trong thời gian nghỉ ngơi. Tìm hiểu trước hướng dẫn sử dụng Selenium cũng không phải là ý tưởng tồi.
Trong cuộc phỏng vấn
Trong cuộc phỏng vấn, mục tiêu chính là thể hiện bản thân cho các nhà tuyển dụng biết bạn có thể làm gì và trả lời một cách trơn tru. Đừng chỉ đưa ra những câu trả lời cộc lốc và mong rằng người phỏng vấn sẽ hài lòng - hãy giải thích thêm khi bạn có thể, cho thấy rằng bạn am hiểu về chủ đề này, hãy khiêm tốn và để thời gian bạn nghiên cứu các câu hỏi và câu trả lời phỏng vấn từ Selenium Tutorial này giúp bạn. Cố gắn nắm vững kiến thức hướng dẫn sử dụng Selenium nhất có thể.
- Dễ sử dụng
- Cung cấp nội dung chất lượng
- Minh bạch giá cả
- Chứng chỉ miễn phí sau hoàn thành
- Tập trung vào các kỹ năng khoa học dữ liệu
- Thời gian học tập linh hoạt
- Thiết kế đơn giản (không có thông tin không cần thiết)
- Khóa học chất lượng cao (ngay cả khóa miễn phí)
- Đa dạng tính năng
- Chương trình nanodegree
- Phù hợp với doanh nghiệp
- Chứng chỉ hoàn thành trả phí
- Được tạo dựng tốt trong ngành
- Đa dạng các tính năng để lựa chọn
- Các khóa học trình độ đại học
- Các khóa học trình độ đại học
- Phù hợp với doanh nghiệp
- Trả phí cho chứng chỉ hoàn thành
Sau cuộc phỏng vấn
Sau cuộc phỏng vấn, bạn dường như cảm thấy nhẹ nhõm hơn. Hầu hết các công ty sẽ thông báo kết quả trong một vài ngày - giai đoạn này có thể gây căng thẳng. Tôi khuyên bạn không nên (hay ít nhất) cũng không gọi điện hoặc nhắn tin đến công ty năm lần mỗi ngày, hỏi rằng “tôi có được vị trí đó chưa?! Hãy kiên nhẫn và bình tĩnh - họ sẽ liên hệ lại với bạn (ngày nay rất nhiều công ty liên hệ ứng viên ngay cả khi họ không có kế hoạch tuyển dụng, chỉ đơn giản là thông báo và không để người đó mất công chờ đợi).
Bạn có biết?
Bạn đã bao giờ băn khoăn nền tảng học online nào tốt nhất cho sự nghiệp của bạn chưa?
Kết luận
Đến đây, bạn không chỉ biết Selenium được sử dụng để làm gì mà còn phải biết tất cả các câu hỏi phỏng vấn Selenium khác nhau mà bạn có thể bị hỏi thông qua hướng dẫn Selenium Tutorial này.
Hãy ghi nhớ - tự tin, làm việc chăm chỉ và tin vào chính mình! Nếu bạn học chăm chỉ, những câu hỏi như “Selenium được sử dụng để làm gì?” và “những hạn chế tự động hóa trong Selenium là gì?” dường như rất dễ dàng để trả lời. Đọc thêm các hướng dẫn sử dụng Selenium để tìm hiểu thêm nếu cần.
Tôi chúc bạn may mắn trong buổi phỏng vấn xin việc!