Câu hỏi phỏng vấn selen python pdf

Cuộc phỏng vấn quan trọng sắp tới đòi hỏi kiến ​​thức về Selenium, và bạn không biết bắt đầu từ đâu? . Mục đích duy nhất là giúp bạn hoàn thiện và vượt qua cuộc phỏng vấn như một chuyên gia và chuẩn bị cho bạn các vai trò công việc như Người kiểm tra tự động hóa Selenium, Kỹ sư QA, Sr. Kỹ sư tự động hóa, v.v.

Show

Hãy xem khóa học selen miễn phí này để tìm hiểu thêm về các công cụ kiểm tra tự động hóa

Các câu hỏi phỏng vấn selen thường gặp hàng đầu

  • Selenium là gì?
  • SDLC là gì?
  • Kiểm thử tự động hóa là gì?
  • Các Thành phần bộ Selenium khác nhau là gì?
  • Sự khác biệt chính giữa Selenium 3 là gì. 0 và Selenium 2. 0?
  • Bạn có ý nghĩa gì bởi Selenese?
  • Các lệnh Selenium có tối thiểu bao nhiêu tham số?
  • Sự khác biệt giữa Đường dẫn tuyệt đối và Đường dẫn tương đối là gì?
  • Sự khác biệt giữa các câu lệnh Khẳng định và Xác minh trong Selenium là gì?
  • Sự khác biệt giữa findElement() và findElements() là gì?

Blog này sẽ giúp bạn cải thiện và vượt qua cuộc phỏng vấn như một chuyên gia. Trọn bộ câu hỏi phỏng vấn Selenium bao gồm 4 phần, đó là

  1. Câu hỏi phỏng vấn Selenium dành cho người mới
  2. Câu hỏi phỏng vấn Selenium dành cho người có kinh nghiệm
  3. Câu hỏi phỏng vấn Selenium Webdriver
  4. Câu hỏi thường gặp về phỏng vấn Selenium

Câu hỏi phỏng vấn Selenium dành cho người mới

Có thể hơi choáng ngợp khi bắt đầu với tư cách là một người mới bước vào bất kỳ lĩnh vực mới nào. Tuy nhiên, chúng tôi đã hỗ trợ bạn vì chúng tôi đã tổng hợp các câu hỏi Phỏng vấn Selenium quan trọng nhất và thường gặp nhất mà bạn có thể bắt đầu. Đây là những câu hỏi cơ bản mà bất kỳ ai mới bắt đầu đều có thể bắt đầu với

1. Selenium là gì?

Selenium là một công cụ kiểm tra tự động mã nguồn mở được sử dụng để kiểm tra các ứng dụng web trên các trình duyệt khác nhau. Tuy nhiên, điều đáng buồn là nó chỉ có thể kiểm tra các ứng dụng web chứ không phải ứng dụng dành cho thiết bị di động và máy tính để bàn

2. SDLC là gì?

Giai đoạn quan trọng trong vòng đời phát triển phần mềm (SDLC) là Kiểm thử. Có hai loại Kiểm tra

  1. Kiểm tra bằng tay
    • Nó liên quan đến việc thực thi vật lý các kịch bản trường hợp thử nghiệm đối với các ứng dụng để phát hiện lỗi và lỗi.
    • Điều này đặt ra rất nhiều thách thức và nỗ lực thủ công nặng nề
  2. Kiểm thử tự động hóa
    • Mặt khác, Kiểm thử tự động cung cấp cho chúng tôi một cách để tự động hóa các quy trình kiểm thử và tăng nhu cầu
Câu hỏi phỏng vấn selen python pdf

3. Kiểm thử tự động hóa là gì?

Việc sử dụng các công cụ tự động hóa để viết và thực hiện các trường hợp thử nghiệm mà không có sự tham gia thủ công để thực hiện Bộ kiểm thử tự động được gọi là Kiểm thử tự động. Các công cụ Tự động hóa được Người kiểm tra ưa thích để viết các trường hợp kiểm tra hoặc tập lệnh kiểm tra và sau đó nhóm tất cả chúng vào Bộ kiểm tra. Các công cụ này được thiết kế để thực hiện các trường hợp thử nghiệm được thiết kế thủ công mà không cần bất kỳ sự can thiệp nào của con người.  

Một số ưu điểm của Kiểm thử tự động bao gồm

  • Tiết kiệm tiền và thời gian.  
  • Kiểm thử tự động tăng độ chính xác vì không có khả năng xảy ra lỗi của con người
  • Khả năng sử dụng lại mã. Tạo một lần và thực thi nhiều lần với Ít hoặc không cần bảo trì
  • Báo cáo dễ dàng. Tự động tạo các báo cáo sau khi thực hiện các trường hợp thử nghiệm
  • Dễ dàng kiểm tra khả năng tương thích bằng cách cho phép thực thi song song kết hợp với hệ điều hành và môi trường trình duyệt
  • Đáng tin cậy hơn, mạnh mẽ và linh hoạt hơn
  • Công cụ tự động hóa cho phép chúng tôi tích hợp với Jenkins, GitHub, v.v. ,
  • Chủ yếu được sử dụng để kiểm tra hồi quy
  • Giúp theo dõi Phạm vi kiểm tra và tăng các trường hợp kiểm tra tương ứng

Đây là một trong những câu hỏi phỏng vấn Selenium khó. Thực ra nó phụ thuộc vào độ phức tạp và độ dài của kịch bản Test case. Khi độ phức tạp bị hạn chế, bạn có thể tự động hóa hai đến năm trường hợp thử nghiệm và một hoặc ít trường hợp thử nghiệm hơn khi độ phức tạp cao trong một ngày. Tham khảo khóa học dưa leo miễn phí

4. Lịch sử của Selenium là gì?

Selenium là một trong những bộ kiểm thử tự động phổ biến nhất. Đó là một công cụ phát lại để thực hiện kiểm tra chức năng mà không cần biết về ngôn ngữ kịch bản thử nghiệm. Selenium là bộ thử nghiệm tự động hóa dựa trên giao diện người dùng web mã nguồn mở. Jason Huggins đã phát triển công cụ này vào năm 2004 tại ThoughtWorks.  

5. Các Thành phần bộ Selenium khác nhau là gì?

Selenium không chỉ là một công cụ hay tiện ích đơn lẻ, mà là một gói gồm nhiều công cụ kiểm tra và đó là lý do tại sao nó được gọi là Selenium Suite. Mỗi công cụ này phục vụ cho các môi trường thử nghiệm và kiểm thử khác nhau

Nó bao gồm bốn thành phần chính như sau

  1. Môi trường phát triển tích hợp Selenium (IDE)

Nó được phân phối dưới dạng plugin Firefox hoạt động như một công cụ ghi và phát lại. Nó được phát triển để tăng tốc độ tạo các tập lệnh tự động hóa

  1. Điều khiển từ xa Selenium (RC)

Selenium Remote Control là một máy chủ mà người dùng có thể tạo các trường hợp Kiểm tra bằng bất kỳ ngôn ngữ lập trình mong muốn nào. Các lệnh có trong tập lệnh kiểm tra được máy chủ chấp nhận và gửi tới trình duyệt dưới dạng lệnh tập lệnh Java lõi Selenium để duy trì hành vi của trình duyệt tương ứng

  1. Trình điều khiển web Selenium

Selenium Web Driver là một giao diện lập trình để tạo và chạy các trường hợp thử nghiệm. Nó cung cấp một cách để hành động trên các phần tử web khác nhau. Trình điều khiển Web này không yêu cầu máy chủ khác, không giống như Selenium Remote Control

  1. Lưới Selenium

Lưới Selenium được sử dụng để phân phối đồng thời các lệnh cho các máy khác nhau. Nó mở đường cho việc thực hiện song song các trường hợp thử nghiệm trong các trình duyệt khác nhau và các môi trường khác nhau. Nó đạt được tính đồng thời và tính toàn vẹn trong Thực thi bộ thử nghiệm

Câu hỏi phỏng vấn selen python pdf

6. Tại sao tôi nên sử dụng Selenium?

  • Mã nguồn mở
  • Hỗ trợ lớn từ cộng đồng và cơ sở người dùng là rất lớn
  • Khả năng tương thích giữa nhiều trình duyệt (Firefox, Chrome, Edge, v.v. ,)
  • Hỗ trợ nhiều ngôn ngữ lập trình (Python, Java, Perl, v.v. ,)
  • Phát triển kho lưu trữ hàng ngày hoặc thường xuyên
  • Kiểm thử phân tán cũng được hỗ trợ

7. Sự khác biệt chính giữa Selenium 3 là gì. 0 và Selenium 2. 0?

selen 2. 0 đại diện cho sự hợp nhất của dự án Selenium gốc với dự án Trình điều khiển web. Selenium RC không được dùng nữa nhưng đã được sử dụng để tương thích ngược

selen 3. 0 thường được gọi là phần mở rộng của Selenium 2. 0 vốn đã tương thích ngược với độ ổn định tăng lên và sửa một số lỗi và hoàn toàn không liên quan đến Selenium RC

8. Bạn có ý nghĩa gì bởi Selenese?

Selenese được gọi là lệnh Selenium là tập hợp các lệnh selen chạy các trường hợp thử nghiệm của bạn. Ví dụ: mở (URL) là lệnh Selenium mở URL được chỉ định trong trình duyệt cụ thể. Tập lệnh kiểm tra là chuỗi của tất cả các lệnh này được đặt cùng nhau. Có ba loại Selenese. Họ đang,

  • hành động. Chúng ta có thể sử dụng nó để thực hiện các tương tác và thao tác trên các phần tử đích
  • phụ kiện. Chúng được sử dụng để lưu trữ các giá trị trong các biến
  • khẳng định. Chúng có thể được sử dụng làm điểm kiểm tra để theo dõi luồng lệnh tuần tự

9. Các lệnh Selenium có tối thiểu bao nhiêu tham số?

Có bốn tham số mà bạn phải truyền vào Selenium. Chúng như sau,

  • Chủ nhà

Chúng tôi có thể liên kết Selenium với một địa chỉ IP cụ thể thay vì Máy chủ lưu trữ cục bộ trong máy cục bộ của chúng tôi

  • Số cổng

Chúng tôi cũng có thể chỉ định số cổng tôi. e. , Cổng TCP/IP để kết nối các bài kiểm tra Selenium với Grid hub. Chúng tôi cần đảm bảo rằng không có ứng dụng nào khác có cùng số cổng ở bất kỳ vị trí nào khác trong cùng một máy

  • trình duyệt

Trình duyệt mà tập lệnh Selenium phải được thực thi

  • URL

URL ứng dụng kích hoạt các trường hợp thử nghiệm trong đó

10. Sự khác biệt giữa Đường dẫn tuyệt đối và Đường dẫn tương đối là gì?

Đường dẫn tuyệt đối.  

  • Đường dẫn này bắt đầu từ nút gốc và kết thúc bằng nút phần tử mong muốn
  • Nó bắt đầu bằng một dấu gạch chéo (/)
  • Thí dụ. /html. cơ thể/div/td/đầu vào

Đường dẫn tương đối

  • Đường dẫn này bắt đầu từ bất kỳ nút nào ở giữa và đến nút phần tử mong muốn
  • Nó bắt đầu bằng dấu gạch chéo kép (//)
  • Thí dụ. // đầu vào/ví dụ[@id=name]

11. Sự khác biệt giữa các câu lệnh Khẳng định và Xác minh trong Selenium là gì?

khẳng định

  • Chúng tôi có thể kiểm tra xem một phần tử có trên trang hay không
  • Kiểm tra không thành công và bị chấm dứt bất cứ khi nào có lỗi trong kiểm tra. Đó là luồng điều khiển chương trình dừng lại

Kiểm chứng

  • Nó chỉ để xác định xem điều kiện đã cho là đúng hay sai
  • Luồng điều khiển chương trình không dừng do điều này

Nhìn chung, câu lệnh Xác minh không dừng việc thực thi chương trình trong khi câu lệnh Khẳng định không dừng việc thực thi.  

12. Sự khác biệt giữa findElement() và findElements() là gì?

findElement().  

Nó sử dụng cơ chế định vị đã cho để tìm phần tử đầu tiên trong trang hiện tại và trả về một phần tử web duy nhất

findElements()

Nó cũng sử dụng cơ chế định vị đã cho để tìm tất cả các phần tử trong trang hiện tại và trả về danh sách tất cả các phần tử web

13. Các điểm xác minh có sẵn trong Selenium là gì?

  • Selenium IDE. Xác minh và khẳng định các lệnh
  • Trình điều khiển web Selenium. Điều này không có bất kỳ tính năng tích hợp nào để xác minh và luôn phụ thuộc vào kiểu viết mã của chúng tôi. Một số ví dụ có thể giống như kiểm tra tiêu đề trang, kiểm tra văn bản nhất định trên trang, kiểm tra một thành phần nhất định như hộp văn bản, menu thả xuống, trường, v.v. ,

14. Giải thích Chờ đợi tiềm ẩn, Chờ đợi rõ ràng và Chờ đợi thông thạo?

  • chờ đợi ngầm định

Chúng tôi có thể đặt thời gian chờ trong một khoảng thời gian cụ thể cho tất cả các phần tử web liên tiếp. Trong thời gian được chỉ định này, trình điều khiển web sẽ tìm kiếm tất cả các phần tử web trước khi ném NoSuchElementException.  

  • chờ đợi rõ ràng

Chúng tôi có thể yêu cầu Trình điều khiển web đợi một số điều kiện nhất định trước khi ném ElementNotVisibleException

  • trôi chảy chờ đợi

Đó là một phần mở rộng nhỏ cho sự chờ đợi rõ ràng. Ngoài việc chờ đợi một số điều kiện nhất định được đáp ứng, chúng ta cũng có thể đặt tần suất kiểm tra điều kiện trước khi ném ElementNotVisibleException

15. sự khác biệt chính giữa trình điều khiển là gì. close() và trình điều khiển. từ bỏ()?

người lái xe. gần()

Đó là một lệnh mà cửa sổ hiện tại có thể được đóng lại. Ví dụ: nếu chúng ta có nhiều cửa sổ trình duyệt đang mở thì bằng cách sử dụng lệnh này, chúng ta có thể đóng cửa sổ có tiêu điểm

người lái xe. từ bỏ()

Lệnh này đóng tất cả các cửa sổ trình duyệt đang mở. Ví dụ: nếu chúng ta mở nhiều cửa sổ trình duyệt, lệnh này có thể đóng tất cả các cửa sổ cùng một lúc

16. Selenium có thể xử lý cửa sổ bật lên dựa trên cửa sổ không?

Như chúng ta đã biết rằng Selenium là một công cụ kiểm thử tự động chỉ có thể hoạt động với các ứng dụng web. Do đó, cửa sổ bật lên trong cửa sổ không thể được xử lý bởi Selenium. Tuy nhiên, bằng cách tích hợp với các công cụ của bên thứ ba, chúng tôi có thể khắc phục vấn đề này

17. Kho lưu trữ đối tượng là gì và giải thích cách chúng ta có thể tạo Kho lưu trữ đối tượng trong Selenium?

Tập hợp các thành phần web thuộc về ứng dụng đang được thử nghiệm cùng với các giá trị định vị của chúng. Điều này thường được gọi là Kho lưu trữ đối tượng. Điều duy nhất là các bộ định vị được lưu trữ ở một vị trí tập trung hơn là mã hóa cứng chúng trong các tập lệnh thử nghiệm

Khi đến với Selenium, các đối tượng cũng có thể được lưu trữ trong Excel và có thể được sử dụng để đưa chúng vào tập lệnh bất cứ khi nào cần.  

18. Các loại khung khác nhau là gì?

  • Khung điều khiển dữ liệu

Dữ liệu thử nghiệm loại này được tạo từ các tệp bên ngoài như excel, CSV, XML, v.v. Dữ liệu liên quan đến các trường hợp thử nghiệm dựa bên ngoài vào các giá trị đầu vào và xác minh được duy trì bằng cách sử dụng các biến

  • Khung điều khiển từ khóa

Các bảng dữ liệu và từ khóa được phát triển độc lập với các trường hợp thử nghiệm tự động hóa. Trong khuôn khổ này, chức năng của các kịch bản thử nghiệm được ghi lại trong bảng từng bước

  • Khung thử nghiệm dựa trên mô-đun

Các mô-đun riêng biệt và hợp lý được tạo ra từ ứng dụng đang được thử nghiệm. Các kịch bản kiểm tra độc lập được viết cho từng mô-đun. Các tập lệnh này sau đó được ghép lại với nhau thành một tổng thể

  • Khung kiểm tra định hướng hành vi

Các kịch bản thử nghiệm được viết theo cách tự động hóa được thực hiện trên các chức năng hoặc tính năng để đảm bảo khả năng đọc, hiểu và độ tin cậy cho các chuyên gia kinh doanh hoặc nhà phát triển hoặc những người thử nghiệm khác

  • Khung thử nghiệm lai

Sự kết hợp của nhiều hơn một trong các khuôn khổ đã đề cập ở trên bằng cách tận dụng các lợi ích của từng khuôn khổ được gọi là khuôn khổ thử nghiệm Kết hợp

19. Chính sách cùng nguồn gốc là gì?

Chính sách này được đưa ra vì lý do bảo mật

  • Theo chính sách này, nó đảm bảo rằng chúng tôi không thể truy cập tập lệnh từ một trang web khác
  • Mã nguồn được tải trong trình duyệt chỉ có thể được vận hành trong miền của trang web đó
  • Chính sách này có thể tránh được bằng cách sử dụng phương pháp tiêm proxy. Trong phương pháp này, trình duyệt bị lừa sử dụng máy chủ của Selenium để trở thành một URL thực (URL hư cấu)

20. Sự khác biệt giữa getwindowhandle() và getwindowhandles() là gì?

getwindowhandles(): This is used to get the address of all the open browsers and returns the data type of Set.

getwindowhandle(). Điều này được sử dụng để lấy địa chỉ của cửa sổ trình duyệt hiện tại nơi nó tập trung vào và trả về kiểu dữ liệu Chuỗi

21. Các loại Chú thích khác nhau được sử dụng trong Selenium là gì?

Siêu dữ liệu cú pháp có thể được thêm vào mã nguồn Java được gọi là chú thích. Chúng có thể được thêm vào các biến, tham số, gói, lớp, v.v. , Một số trong số chúng được sử dụng trong Selenium bao gồm,

@Before, @Test, @After

22. Sự khác biệt giữa các phương thức setSpeed() và sleep() là gì?

Các phương pháp này sẽ trì hoãn tốc độ thực hiện.  

  • Chủ đề. ngủ(). Chuỗi hiện tại sẽ dừng trong một khoảng thời gian xác định. Nó chỉ đợi một lần khi lệnh được đưa ra. Chỉ cần một đối số duy nhất là định dạng Số nguyên
  • đặt chế độ ngủ (). Lệnh này sẽ dừng thực thi mọi lệnh Selenium. Lệnh này chỉ được sử dụng cho mục đích trình diễn và cũng cho ứng dụng web chậm

23. Liệt kê những ưu điểm của trình điều khiển Web so với máy chủ Selenium?

  • Nếu sử dụng trình điều khiển web Selenium thì không cần sử dụng phần phụ thuộc của máy chủ Selenium
  • Máy chủ Selenium cung cấp cho chúng tôi chức năng của Selenium RC để tương thích ngược
  • Máy chủ Selenium hoạt động như một phần mềm trung gian để giao tiếp giữa các trình duyệt và ứng dụng. Trong khi đó, trình điều khiển web Selenium gọi trực tiếp trình duyệt để hỗ trợ tự động hóa

Câu hỏi phỏng vấn Selenium dành cho người có kinh nghiệm

Bất kỳ ai có kinh nghiệm về Selenium sẽ được hỏi những câu hỏi hơi nâng cao. Để chuẩn bị cho một tình huống như thế này, chúng tôi có một danh sách các câu hỏi phỏng vấn Selenium dành cho người có kinh nghiệm đã sẵn sàng. Những câu hỏi này được điều chỉnh phù hợp với những gì bạn có thể mong đợi trong cuộc phỏng vấn với tư cách là một chuyên gia Selenium

24. Làm thế nào bạn có thể lưu trữ một giá trị trong một hộp văn bản?

Một lệnh có thể lưu trữ giá trị từ hộp văn bản bằng trình điều khiển web

Ví dụ,

driver.findElement(By.id(“your Textbox”)).sendKeys(“your keyword”);

25. Làm thế nào bạn có thể gỡ lỗi các bài kiểm tra trong Selenium IDE?

Đây là một trong những câu hỏi phỏng vấn Selenium được hỏi nhiều nhất

  • Trước tiên, chúng ta cần chèn các điểm dừng nơi chúng ta cần gỡ lỗi và thực hiện kiểm tra từng bước.  
  • Sau đó, chạy trường hợp thử nghiệm
  • Sau đó, quá trình thực thi dừng tại điểm mà điểm ngắt được giữ
  • Bạn có thể nhấp vào nút Run để tiếp tục thực hiện tuần tự tất cả các lệnh

26. Biểu thức chính quy là gì và Làm thế nào bạn có thể sử dụng biểu thức chính quy trong Selenium?

Các mẫu Tìm kiếm được biểu diễn bằng chuỗi Văn bản đặc biệt được gọi là biểu thức chính quy. Regexp là từ khóa có thể được sử dụng làm tiền tố để xử lý văn bản trong Selenium dưới dạng biểu thức chính quy

27. Làm thế nào bạn có thể xử lý làm việc với nhiều cửa sổ trong Selenium?

lệnh selectWindow() trong Selenium có thể được sử dụng để chuyển đổi giữa các cửa sổ đang hoạt động. Yếu tố phân biệt giữa tất cả các cửa sổ là tiêu đề của cửa sổ

28. Làm cách nào để lấy thông báo trong hộp cảnh báo?

lệnh storeAlert() có thể được sử dụng để truy xuất tin nhắn từ cửa sổ bật lên cảnh báo và lưu trữ nó trong một biến

29. Làm cách nào bạn có thể xác minh vị trí cụ thể của một phần tử web?

Các lệnh verifyElementPositionLeft và verifyElementPositionTop được sử dụng. Chúng sử dụng so sánh pixel bằng cách xác định vị trí của phần tử từ bên trái và trên cùng của trang web tương ứng

30. Tại sao chúng ta sử dụng Selenium RC?

  • Selenium IDE có những hạn chế mà Selenium RC có thể giảm bớt về mặt hỗ trợ trình duyệt và hỗ trợ ngôn ngữ
  • IDE không hỗ trợ nhiều chức năng như Ghi nhật ký, lặp lại, câu lệnh có điều kiện, báo cáo kết quả trường hợp thử nghiệm, v.v. , vì nó chỉ hỗ trợ Ngôn ngữ HTML
  • Đó là lý do tại sao Selenium RC được sử dụng để giao tiếp với các ngôn ngữ khác như Perl, Python, v.v. ,

31. Ưu điểm hoặc Lợi ích của Selenium RC là gì?

Ưu điểm hoặc Lợi ích của RC bao gồm,

  • Dữ liệu có thể được đọc hoặc ghi vào hoặc từ. xlsx,. csv,. txt, v.v. ,
  • Các đối tượng động và các phần tử giao diện người dùng dựa trên Ajax có thể được xử lý
  • Các câu lệnh có điều kiện và chức năng Lặp lại có thể được sử dụng để cải thiện và nâng cao hiệu suất cũng như tính linh hoạt
  • Hỗ trợ cho mọi ngôn ngữ lập trình và hệ điều hành
  • Selenium RC có thể được sử dụng trên bất kỳ trình duyệt nào được kích hoạt với tập lệnh Java

32. Bạn có thể liệt kê các giới hạn Kỹ thuật khi sử dụng Selenium RC không?

  • Chính sách cùng nguồn gốc
  • Mọi thứ bên ngoài trình duyệt cũng bị hạn chế truy cập trong quá trình thực thi kịch bản thử nghiệm

33. Nhu cầu sử dụng TestNG với Selenium RC là gì?

Nếu yêu cầu của bộ kiểm thử tự động được cho là hoạt động trên các nền tảng máy chủ và máy khách khác nhau thì chúng ta cần gọi các trường hợp kiểm thử từ dòng lệnh. Ngoài ra, chúng tôi cần các báo cáo kết quả trường hợp thử nghiệm theo định kỳ để ước tính và cũng thực hiện tính linh hoạt về cách tạo các bài kiểm tra. Loại linh hoạt như vậy được cung cấp bởi TestNG

34. Bạn sử dụng ngôn ngữ nào để triển khai các bộ trường hợp thử nghiệm trong Selenium?

Ngôn ngữ ưa thích nhất để triển khai Selenium trong Python trên Java. Điều này là bởi vì,

  • Các chương trình Java chạy chậm hơn khi so sánh với các chương trình Python
  • Việc triển khai và độ phức tạp của cả hai đều khá khác nhau và Python hoạt động tốt
  • Python được gõ động trong khi Java được gõ tĩnh
  • Java không đơn giản và nhỏ gọn hơn để viết các trường hợp thử nghiệm khi so sánh với python

35. Điểm dừng và điểm bắt đầu trong Selenium là gì?

  • Điểm ngắt

Luồng thực thi bị dừng bằng cách sử dụng các điểm ngắt. Bằng cách này, chúng tôi có thể xác minh rằng mã đang hoạt động theo cách mong đợi hay không

  • điểm bắt đầu.  

Điểm bắt đầu thực hiện được xác định bởi các điểm bắt đầu. Khi bạn muốn chạy tập lệnh kiểm tra từ giữa mã hoặc điểm ngắt, chúng tôi sử dụng các

36. Làm thế nào là khả năng mong muốn hữu ích về Selenium?

Một loạt các cặp khóa-giá trị có thể được sử dụng để lưu trữ thông tin như tên trình duyệt, phiên bản trình duyệt, đường dẫn của trình điều khiển trình duyệt trong hệ thống, v.v. , để xác định hành vi của trình duyệt trong thời gian chạy. Tính năng hoặc chức năng này thường được gọi là khả năng mong muốn

Đối với Selen,

Phiên bản trình điều khiển có thể được cấu hình bằng cách sử dụng này

Nó được áp dụng khi bạn muốn chạy các trường hợp thử nghiệm trong các hệ điều hành, trình duyệt và phiên bản khác nhau

37. Khi nào bạn sử dụng AutoIT?

Như chúng ta đã biết rằng Selenium chỉ được sử dụng để tự động hóa các ứng dụng web. Nhưng nếu chúng ta muốn xử lý hoặc quản lý hoặc duy trì GUI, HTML pop-up thì chúng ta cần sử dụng AutoIT

38. Bạn có thể đề cập đến lý do tại sao bạn cần xử lý Phiên trong Selenium không?

Xử lý phiên rất quan trọng khi làm việc với Selenium. Điều này là do trong khi làm việc với các kịch bản trường hợp thử nghiệm, chúng ta cần thiết lập giao tiếp giữa trình duyệt và ứng dụng trong khi thực hiện các lệnh. Có thể xảy ra sự cố trong khi chạy một tập lệnh thử nghiệm cụ thể, một tập lệnh thử nghiệm khác có thể được kích hoạt trong cùng một máy chủ và cùng loại trình duyệt. Đây là phần quan trọng nhất và là lý do tại sao chúng ta cần xử lý phiên

39. Bạn có thể tự động hóa CAPTCHA không?

Câu trả lời là không. Chúng tôi không thể tự động hóa CAPTCHA trong Selenium. Khái niệm về CAPTCHA là để đảm bảo rằng các bot hoặc tập lệnh kiểm tra tự động không được có quyền truy cập vào thông tin nhạy cảm và đó là lý do tại sao chúng tôi không thể tự động hóa nó. Hình ảnh xác thực phải được nhập thủ công để tiếp tục quy trình thực thi của bộ thử nghiệm

40. Làm cách nào để khởi chạy các trình duyệt khác nhau trong Selenium?

  • Một phiên bản trình điều khiển nên được tạo cho một trình duyệt cụ thể mà chúng tôi cần làm việc trên đó.  
  • Trình điều khiển WebDriver = FireFoxDriver mới();
  • Trình điều khiển WebDriver = ChromeDriver mới();
  • Ở đây, WebDriver là giao diện nơi Firefox, chrome và tất cả các triển khai trình điều khiển trình duyệt khác được thực hiện

41. Locator là gì và làm thế nào để bạn định vị một phần tử trong Selenium?

Các yếu tố của trang web được tìm thấy và đối sánh bằng cách sử dụng bộ định vị để tương tác với. Có nhiều loại công cụ định vị khác nhau để xác định các loại phần tử khác nhau trên trang web. Chúng như sau,

  • TÔI
  • Tên
  • Lớp
  • Liên kết một phần
  • Xpath
  • Bộ chọn CSS
  • Văn bản liên kết

42. Tại sao bạn chọn Selenium thay vì QTP (Quick Test Professional)?

Tính năngSeleniumQuick Test Professional (QTP)Khả năng tương thích với trình duyệtHầu như tất cả các trình duyệt phổ biến đều được hỗ trợ. Firefox, Chrome, Safari, Internet Explorer, Edge, v.v. Điều này chỉ hỗ trợ Chrome, Firefox và Internet explorer. Ngoài ra, nó chỉ hỗ trợ hệ điều hành Windows. Phân phối Được phân phối dưới dạng mã nguồn mở và được cung cấp miễn phí. Được phân phối như một công cụ được cấp phép và được thương mại hóa. Ứng dụng đang thử nghiệm (AUT)Các ứng dụng dựa trên web chỉ được hỗ trợ trong loại thử nghiệm tự động này. Điều này cung cấp hỗ trợ cho cả ứng dụng dựa trên web cũng như cửa sổ để kiểm tra tự động. Kho lưu trữ đối tượng Thực thể riêng biệt trong Selenium được sử dụng để tạo kho lưu trữ đối tượng. Tự động tạo kho lưu trữ Đối tượng diễn ra và được duy trì.Hỗ trợ ngôn ngữNhiều ngôn ngữ lập trình như Java, Python, Perl, Ruby, C#, v.v. , được hỗ trợ bởi Selenium này. Chỉ ngôn ngữ VBScript được hỗ trợ bởi QTP này. Hỗ trợ nhà cung cấp Như chúng tôi đã biết rằng Selenium là một công cụ miễn phí, chúng tôi không nhận được sự hỗ trợ của nhà cung cấp trong việc khắc phục sự cố mà chúng tôi gặp phải. Hỗ trợ của nhà cung cấp được đảm bảo cho người dùng sử dụng QTP và họ nhận được phản hồi nhanh chóng vì QTP được thương mại hóa và cấp phép

Câu hỏi phỏng vấn Selenium Webdriver

Một số câu hỏi phỏng vấn trình điều khiển web Selenium phổ biến như sau

43. Những thách thức và hạn chế của Selenium Web Driver là gì?

Như chúng ta đã biết Selenium Web Driver được sử dụng để bắt chước các thao tác thực của người dùng trên web trên trình duyệt. Một số thách thức của Selenium như sau,

  • Không tương thích để kiểm tra các ứng dụng Windows hoặc Desktop
  • Ngoài ra, không thể được sử dụng để kiểm tra các ứng dụng Di động
  • Không có Báo cáo tích hợp và nó phải được tích hợp với các công cụ khác để có được các báo cáo
  • Hỗ trợ Kiểm tra hình ảnh bị hạn chế
  • Người dùng nên có kiến ​​thức lập trình trước
  • Vì nó là mã nguồn mở nên không có hỗ trợ của nhà cung cấp

44. Các loại Kiểm thử được Selenium hỗ trợ là gì?

Kiểm tra hồi quy và Kiểm tra chức năng được hỗ trợ chủ yếu bởi Selenium

  1. Kiểm tra hồi quy

Tất cả các trường hợp Kiểm thử được thực hiện lặp đi lặp lại một phần hoặc toàn bộ để đảm bảo rằng các chức năng hiện có đang hoạt động như thiết kế. Nó bao gồm các bước sau,

  • kiểm tra lại. Tất cả các trường hợp thử nghiệm trong Bộ thử nghiệm đều được thực thi, điều này chứng tỏ là tốn thời gian và tốn kém
  • Hồi quy Test case Lựa chọn. Các trường hợp kiểm tra được phân loại hoặc phân loại thành kiểm tra tính năng, kiểm tra tích hợp, v.v. , và một số trường hợp thử nghiệm được chọn
  • Ưu tiên các trường hợp thử nghiệm. Các trường hợp thử nghiệm được chọn được ưu tiên dựa trên các chức năng quan trọng và tác động kinh doanh
  1. Thử nghiệm chức năng

Trong đó, tất cả các chức năng trong ứng dụng được xác minh với một yêu cầu cụ thể. Đây chủ yếu là kiểm thử hộp đen vì nó không quan tâm đến mã nguồn của ứng dụng. Nó bao gồm các bước sau,

  • Đầu vào thử nghiệm được xác định
  • Kết quả kiểm tra được tính toán
  • Trường hợp thử nghiệm được thực hiện
  • Kết quả thực tế và kết quả kiểm tra được so sánh phù hợp

45. Giải thích các loại Ngoại lệ khác nhau trong trình điều khiển Selenium Web?

Các ngoại lệ trong trình điều khiển web Selenium cũng tương tự như các ngoại lệ trong bất kỳ ngôn ngữ lập trình nào khác như Java, C#, v.v. , Một số trường hợp ngoại lệ phổ biến nhất như sau,

  • Hết giờNgoại lệ. Ngoại lệ này có thể được đưa ra khi một hoạt động cụ thể không thể hoàn thành trong một thời gian cụ thể hoặc quy định
  • NoSuchElementException. Khi một phần tử trong tập hợp các thuộc tính nhất định không có trên trang web thì ngoại lệ này có thể được đưa ra
  • ElementNotVisibleException. Có thể có trường hợp một phần tử cụ thể có thể xuất hiện trong DOM (Mô hình đối tượng tài liệu) nhưng không hiển thị trên trang web. Trong những trường hợp như vậy, ngoại lệ này có thể được ném
  • StaleElementException. Khi một phần tử bị xóa hoặc không còn xuất hiện trong DOM thì ngoại lệ này có thể được ném. Chúng tôi thường phải đối mặt với ngoại lệ này khi phần tử mà chúng tôi đang tương tác bị hủy hoặc được tạo lại.  

46. API nào được sử dụng để kiểm tra cơ sở dữ liệu trong trình điều khiển web Selenium?

JDBC (Kết nối cơ sở dữ liệu Java) được sử dụng để kiểm tra cơ sở dữ liệu trong Selenium. Điều này cho phép chúng tôi viết các truy vấn SQL (Ngôn ngữ truy vấn có cấu trúc) và thực thi chúng

47. Bạn có thể viết một đoạn mã nhỏ để khởi chạy trình duyệt Chrome trong Trình điều khiển web không?

public class ChromeBrowserLaunchDemo {  
  
public static void main(String[] args) {  
  
//Creating a driver object referencing WebDriver interface  
WebDriver driver;  
  
//Setting the webdriver.chrome.driver property to its executable's location  
System.setProperty("webdriver.chrome.driver", "/lib/chromeDriver/chromedriver.exe");  
      
//Instantiating driver object  
driver = newChromeDriver();  
  
//Using get() method to open a webpage  
driver.get("http://javatpoint.com");  
  
//Closing the browser  
Driver.quit();  
}  
  
}  

48. Bạn có thể đề cập đến những thách thức bạn gặp phải khi xử lý lệnh gọi Ajax trong trình điều khiển Selenium Web không?

Sau đây là những thách thức mà chúng tôi gặp phải khi xử lý lệnh gọi AJAX,

  • Lệnh tạm dừng trong lệnh gọi Ajax không thông thường và đáng tin cậy trong việc xử lý. Tạm dừng dài làm cho việc thực hiện trường hợp thử nghiệm làm tăng thời gian thực hiện. Thay vào đó, chúng ta có thể sử dụng waitForCondition để kiểm tra các ứng dụng AJAX
  • Khó đánh giá rủi ro liên quan đến các ứng dụng này
  • Mã hóa và tuần tự hóa trong các ứng dụng AJAX gây khó khăn trong việc phát triển các kịch bản trường hợp kiểm thử tự động hóa

49. Bạn có thể giải thích làm thế nào bạn có thể xử lý màu sắc trong trình điều khiển web?

Chúng ta có thể sử dụng lệnh getCssValue(arg0) để lấy màu bằng cách gửi màu làm đối số

50. Việc triển khai trình điều khiển web nào là nhanh nhất?

Trình điều khiển web triển khai Trình điều khiển đơn vị HTML là nhanh nhất trong tất cả. Điều này là do trình điều khiển này không thực hiện các bài kiểm tra trong trình duyệt mà thay vào đó, chỉ thực thi HTTP đơn giản, nhanh hơn như mong đợi

51. Sự khác biệt giữa một đường dẫn tuyệt đối và tương đối là gì?

Đường dẫn tuyệt đối là đường dẫn đầy đủ từ thư mục gốc đến tệp hoặc thư mục bạn muốn truy cập, trong khi đường dẫn tương đối là đường dẫn một phần có liên quan đến thư mục hiện tại

52. Sự khác biệt giữa WebDriver và RemoteWebDriver là gì?

WebDriver là giao diện cho phép bạn giao tiếp với trình duyệt, trong khi RemoteWebDriver là trình điều khiển cho phép bạn giao tiếp với trình duyệt trên máy từ xa

53. Sự khác biệt giữa một phần tử findElement và một phần tử find là gì?

Một findElement trả về một WebElement duy nhất, trong khi một findElements trả về một danh sách các WebElements

54. Sự khác biệt giữa một yêu cầu nhận và một bài viết là gì?

Yêu cầu nhận được sử dụng để truy xuất dữ liệu từ máy chủ, trong khi yêu cầu đăng được sử dụng để gửi dữ liệu đến máy chủ

Cookie là một phần dữ liệu nhỏ được lưu trữ trên máy tính của người dùng, trong khi phiên là một nhóm các tương tác có liên quan giữa người dùng và trang web

Để có khóa học chi tiết hơn, hãy truy cập Great Learning Academy nơi bạn sẽ tìm thấy các khóa học khác nhau về Machine Learning miễn phí

cũng đọc. Những câu hỏi phỏng vấn phổ biến hàng đầu

Câu hỏi thường gặp về phỏng vấn Selenium

Một số câu hỏi thường gặp về phỏng vấn Selenium quan trọng như sau

Các chủ đề quan trọng trong selen là gì?

  • Trình quản lý web Selenium 3. x
  • Sự khác biệt giữa các phiên bản Selenium như IDE, RC, WEB DRIVER
  • Lớp Selenium/giao diện/phương thức phân cấp từ trên xuống dưới
  • Triển khai Selenium GRID cho các nút cục bộ và từ xa
  • Khái niệm Java chi tiết
  • Khung kiểm traNG
  • Báo cáo nâng cao
  • Mô hình đối tượng trang
  • Khung nhà máy trang
  • Khung điều khiển dữ liệu
  • Sử dụng sự phản chiếu trong khung Đối tượng Trang để tạo các trang động
  • Sử dụng Selenium với Docker
  • Chi tiết giao thức dây Selenium JSON
  • Tích hợp Selenium với các công cụ khác nhau như JMeter, Cucumber, AutoIt, Jenkins
  • Các khung Selenium như nhà máy trang, lai, v.v.

Selenium có thể được sử dụng để làm gì?

Selenium được sử dụng để thử nghiệm tự động hóa trên nhiều trình duyệt web khác nhau như  Chrome, Mozilla, Firefox, Safari và IE. Với sự trợ giúp của trình điều khiển web Selenium, người ta có thể dễ dàng tự động kiểm tra trình duyệt

Các lệnh selen là gì?

Lệnh WebDriverUsageget()Khởi chạy trình duyệt mới và mở URL đã chỉ địnhLấy một tham số loại chuỗi đơn
trình điều khiển. get();getClass()Lệnh này dùng để truy xuất đối tượng Class
driver. getClass();getCurrentUrl()• Lệnh này được sử dụng để truy xuất URL của trang web và không yêu cầu bất kỳ tham số nào.
trình điều khiển. getCurrentUrl();getPageSource()• Lệnh này được sử dụng để truy xuất nguồn trang và không yêu cầu bất kỳ tham số nào và trả về giá trị chuỗi
boolean result = driver. getPageSource(). contains(“String to find”);getTitle()• Lệnh dùng để lấy tiêu đề của trang web mà người dùng hiện đang làm việc. • Lệnh này không yêu cầu bất kỳ tham số nào và trả về một giá trị chuỗi đã được cắt bớt
String title = driver. getTitle();getText()• Lệnh này được sử dụng để truy xuất văn bản bên trong của phần tử web đã chỉ định

String Text = driver. findElement(By. id(“Văn bản”)). getText();getAttribute()• Lệnh được sử dụng để truy xuất giá trị của thuộc tính được chỉ định và yêu cầu trình điều khiển tham số chuỗi đơn. findElement(By. id(“findID”)). getAttribute(“value”);getWindowHandle()• Lệnh này được sử dụng trong trường hợp chúng ta có nhiều cửa sổ cần xử lý và người dùng cũng có thể chuyển về cửa sổ trước đó nếu muốn.
Chuỗi riêng winHandle Before;winHandle Before = trình điều khiển. getWindowHandle();trình điều khiển. chuyển sang(). window(winHandle Before);getWindowHandles()• Lệnh tương tự như lệnh “getWindowHandle()” nhưng ở đây chúng chỉ xử lý nhiều hơn 2 cửa sổ.

Những điều cơ bản của selen là gì?

Selenium ban đầu được phát triển bởi Jason Huggins vào năm 2004 như một công cụ nội bộ dưới dạng giao diện người dùng web nguồn mở để thử nghiệm tự động hóa. Selenium hỗ trợ tự động hóa trên các trình duyệt khác nhau như  Internet Explorer, Mozilla Firefox, Google Chrome và Safari, các nền tảng như Windows, Linux, Solaris và Macintosh cũng như các ngôn ngữ lập trình như C#, Java, Perl, PHP, Python và Ruby, v.v.

Đọc thêm. Khái niệm cơ bản về Selenium

Nhược điểm của selen là gì?

  • Không thể nhờ hỗ trợ kỹ thuật – Vì là phần mềm mã nguồn mở nên khó có thể nhờ hỗ trợ kỹ thuật
  • Nó chỉ hỗ trợ các ứng dụng dựa trên Web
  • Selenium mất nhiều thời gian hơn để tạo các trường hợp thử nghiệm vì nó chỉ có giao diện lập trình
  • Khó thiết lập Môi trường thử nghiệm với các công cụ như UFT, RFT, SilkTest, v.v.
  • Hỗ trợ hạn chế cho Kiểm tra hình ảnh
  • Các tính năng mới có thể không hoạt động bình thường
  • Không tích hợp Công cụ kiểm tra cho Quản lý kiểm tra
  • Không có cơ sở báo cáo tích hợp

Tại sao selen rất phổ biến?

  • minh bạch
  • Nền tảng độc lập
  • Nhanh chóng TTM và TTD
  • Thúc đẩy các nỗ lực tích hợp liên tục
  • Khả năng hiển thị trong thử nghiệm từ đầu đến cuối
  • Giảm thời gian quay vòng
  • Tích hợp với các công cụ khác

Selenium có phải là một khuôn khổ không?

Có, Selenium là một khung kiểm tra phần mềm cho các ứng dụng web cho phép bạn tự động kiểm tra ứng dụng web. Với các ngôn ngữ như Java, Python, Ruby, C#, bạn có thể viết các đoạn mã kiểm tra để chạy trên các trình duyệt và máy ảo

Làm thế nào để Python giải thích khung Selenium trong cuộc phỏng vấn?

Giới thiệu về các loại framework bạn đã sử dụng . Mọi khung đều có Lớp cơ sở; . , trong lớp cơ sở thử nghiệm. Vì vậy, bạn cần cung cấp một số điểm nhấn cho phần này trong khi giải thích và đến với bộ định vị phần tử

Cấp độ Python nào là cần thiết cho Selenium?

Vì selen là một công cụ không phụ thuộc vào ngôn ngữ nên bạn chỉ cần có trình độ cơ bản của Python.

Các câu hỏi phỏng vấn cơ bản trong Selenium là gì?

Câu hỏi phỏng vấn Selenium cấp độ mới bắt đầu .
Các thành phần của bộ Selenium là gì?.
Những hạn chế của thử nghiệm Selenium là gì?.
Các loại thử nghiệm được hỗ trợ bởi Selenium là gì?.
Sự khác biệt giữa Selenium 2 là gì. 0 và Selenium 3. 0?.
Chính sách cùng nguồn gốc là gì và nó được xử lý như thế nào?.
Selene là gì?

Tại sao Python được sử dụng với Selenium?

Selenium có thể dễ dàng gửi các lệnh tiêu chuẩn của python tới nhiều trình duyệt khác nhau bất kể tất cả các biến thể trong thiết kế của trình duyệt . Python là một ngôn ngữ kịch bản, không phải lo lắng về việc chạy trình biên dịch để chuyển đổi mã từ các dòng mã sang bất kỳ thứ gì có thể được triển khai và sử dụng.