Selenium Webdriver với Python: Hướng dẫn kèm theo ví dụ

Mục lục:

Anonim

Selenium hỗ trợ Python và do đó có thể được sử dụng như Selenium WebDriver với Python để thử nghiệm.

  • Python dễ dàng so với các ngôn ngữ lập trình khác, ít dài dòng hơn nhiều.
  • Các API Python cho phép bạn kết nối với trình duyệt thông qua Selenium.
  • Selenium gửi các lệnh Python tiêu chuẩn đến các trình duyệt khác nhau, bất chấp sự thay đổi trong thiết kế của trình duyệt của họ.

Bạn có thể chạy Selenium với các tập lệnh Python cho Firefox, Chrome, IE, v.v. trên các Hệ điều hành khác nhau.

Trong hướng dẫn Python Selenium này, bạn sẽ học-

  • Python là gì?
  • Selenium là gì?
  • Tại sao nên chọn Python thay vì Java trong Selenium
  • Cách cài đặt và cấu hình PyDev trong Eclipse
  • Cách tạo tập lệnh thử nghiệm trong Selenium với Python

Python là gì?

Python là một ngôn ngữ kịch bản hướng đối tượng cấp cao. Nó được thiết kế thân thiện với người dùng. Python sử dụng các từ khóa tiếng Anh đơn giản, dễ diễn giải. Nó có ít phức tạp về cú pháp hơn bất kỳ ngôn ngữ lập trình nào khác.

Xem một số ví dụ trong bảng dưới đây.

Từ khóa Ý nghĩa Sử dụng
elif Khác nếu Khác nếu
khác Khác nếu: X; elif: Y; khác: J
ngoại trừ làm điều này, Nếu một ngoại lệ xảy ra, ngoại trừ ValueError, a: print a
người điều hành Chạy chuỗi dưới dạng Python execute 'print "hello world!"'

Selenium là gì?

Selenium là một công cụ để kiểm tra ứng dụng web của bạn. Bạn có thể làm điều này theo nhiều cách khác nhau, chẳng hạn

  • Cho phép nó chạm vào các nút
  • Nhập nội dung vào cấu trúc
  • Đọc lướt trang web của bạn để kiểm tra xem mọi thứ có "OK" hay không, v.v.

Tại sao nên chọn Python thay vì Java trong Selenium

Một số điểm có lợi cho Python hơn Java để sử dụng với Selenium là,

  1. Các chương trình Java có xu hướng chạy chậm hơn so với các chương trình Python.
  2. Java sử dụng dấu ngoặc nhọn truyền thống để bắt đầu và kết thúc khối, trong khi Python sử dụng thụt đầu dòng.
  3. Java sử dụng kiểu gõ tĩnh, trong khi Python được gõ động.
  4. Python đơn giản hơn và nhỏ gọn hơn so với Java.

Cách cài đặt và cấu hình PyDev trong Eclipse

PyDev là môi trường phát triển Python cho Eclipse.

Bước 1) Phải đến Eclipse Marketplace. Trợ giúp> Cài đặt phần mềm mới

Bước tiếp theo là cài đặt "pydev IDE" cho nhật thực.

Bước 2) Trong bước này,

  1. Tìm kiếm "http://pydev.org/updates" trong Work with và sau đó
  2. Chọn tất cả các mục được liệt kê và nhấp vào Tiếp theo hai lần
  3. Chấp nhận Thỏa thuận Cấp phép và nhấp vào Hoàn tất.

Bước 3) Bạn có thể gặp Cảnh báo bảo mật, Nhấp vào "Vẫn cài đặt".

Bước 4) Bây giờ , trong bước này, bạn sẽ thiết lập các tùy chọn. Với sự trợ giúp của tùy chọn ưu tiên, bạn có thể sử dụng Python theo nhu cầu của dự án.

Đi tới Window> Preferences> PyDev> Interpreter> Python Interpreter.

Hãy đặt Trình thông dịch Python mặc định. Nó cũng giống như bạn cần thiết lập trình biên dịch java để chạy mã Java. Để thay đổi tên trình thông dịch, hãy nhấp vào Nút Duyệt tìm python / pypy exe.

Bước 5) Trong bước này, cung cấp "tên trình thông dịch" và đường dẫn tệp "exe" của Python.

  1. Nhấp vào 'Duyệt qua' và tìm python.exe nơi bạn đã cài đặt Python.
  2. Nhấp vào nút 'OK'.
  3. Chọn tất cả các Thư mục và nhấp vào OK
  4. Nhấp vào "Áp dụng và Đóng".

Bước 6) Tạo một dự án mới bằng Python. Trong bước này,

  1. Nhấp chuột phải vào Trình khám phá gói PyDev> Mới.
  2. Chọn tùy chọn khác.

  1. Chọn "PyDev> Dự án PyDev".
  2. Nhấn nút 'Tiếp theo'.

  1. Đặt tên cho dự án của bạn
  2. Nhấp vào "Hoàn tất".

Bạn có thể thấy dự án Python (PyDev) mới được tạo.

Bước 7) Trong bước này,

Sau khi tạo 'Dự án PyDev', bạn sẽ tạo một gói Python mới.

  1. Nhấp chuột phải vào Dự án> Mới> Gói PyDev.
  2. Đặt tên cho Gói của bạn và nhấp vào Hoàn tất.

Bước 8) Nếu bạn thấy trong ảnh chụp màn hình bên dưới, một gói mới đã được tạo.

Sau khi tạo một gói mới, bước tiếp theo là tạo Mô-đunPyDev. Mô-đun chứa một số tệp Python để khởi tạo. Các tệp hoặc chức năng này từ mô-đun có thể được nhập vào mô-đun khác. Vì vậy, sẽ không cần phải viết lại chương trình một lần nữa.

Bước 9) Tạo mô-đun PyDev mới. Nhấp chuột phải vào gói> Mới> mô-đun PyDev.

Đặt tên cho Mô-đun của bạn và nhấp vào "Hoàn tất".

Chọn Mẫu trống và Nhấp vào "OK".

Bước 10) Viết mã của bạn cho Selenium bằng Python như hình dưới đây

Cách tạo tập lệnh thử nghiệm trong Selenium với Python

Trong ví dụ về Selenium WebDriver với Python này, chúng tôi đã tự động hóa "trang đăng nhập Facebook" bằng trình điều khiển Firefox.

Selenium Python Ví dụ 1: Đăng nhập vào Facebook

từ webdriver nhập khẩu selentừ selenium.webdriver.common.keys nhập Phímuser_name = "EMAILID CỦA BẠN"password = "MẬT KHẨU CỦA BẠN"driver = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("email")element.send_keys (user_name)element = driver.find_element_by_id ("pass")element.send_keys (mật khẩu)element.send_keys (Keys.RETURN)element.close ()

Ảnh chụp mã

Giải thích mã

  • Dòng mã 1 : Từ webdriver nhập mô-đun selen
  • Dòng mã 2 : Từ Phím nhập mô-đun selen
  • Dòng mã 3 : Người dùng là một biến sẽ được chúng tôi sử dụng để lưu trữ các giá trị của tên người dùng.
  • Dòng mã 4 : Biến "mật khẩu" sẽ được sử dụng để lưu trữ các giá trị của mật khẩu.
  • Dòng mã 5 : Trong dòng này, chúng tôi đang khởi tạo "FireFox" bằng cách tạo một đối tượng của nó.
  • Dòng mã 6 : "Phương thức driver.get" sẽ điều hướng đến một trang được cung cấp bởi URL. WebDriver sẽ đợi cho đến khi trang được tải hoàn toàn (nghĩa là, dịp "onload" đã bị loại bỏ), trước khi trả lại quyền kiểm soát cho thử nghiệm hoặc tập lệnh của bạn.
  • Dòng mã 7 : Trong dòng này, chúng tôi đang tìm phần tử của hộp văn bản nơi "email" phải được viết.
  • Dòng mã 8 : Bây giờ chúng tôi đang gửi các giá trị đến phần email
  • Dòng mã 9 : Tương tự cho mật khẩu
  • Dòng mã 10 : Gửi giá trị đến phần mật khẩu
  • Dòng mã 11 : element.send_keys (Keys.RETURN) được sử dụng để nhấn enter sau khi các giá trị được chèn vào
  • Dòng mã 12 : Đóng

ĐẦU RA

Các giá trị của tên người dùng "guru99" và mật khẩu đã được nhập.

Trang Facebook sẽ đăng nhập bằng email và mật khẩu. Trang đã mở (xem hình ảnh bên dưới)

VÍ DỤ 2: Đăng nhập Facebook & Kiểm tra Tiêu đề

Trong ví dụ này,

  • Chúng tôi sẽ mở một trang đăng nhập.
  • Điền vào trường bắt buộc "tên người dùng" và "mật khẩu".
  • Kiểm tra tiêu đề trang
từ webdriver nhập khẩu selentừ selenium.webdriver.support.ui nhập WebDriverWait# Bước 1) Mở Firefoxbrowser = webdriver.Firefox ()# Bước 2) Điều hướng đến Facebookbrowser.get ("http://www.facebook.com")# Bước 3) Tìm kiếm & Nhập trường Email hoặc Điện thoại & Nhập mật khẩuusername = browser.find_element_by_id ("email")password = browser.find_element_by_id ("pass")submit = browser.find_element_by_id ("nút đăng nhập")username.send_keys ("EMAILID CỦA BẠN")password.send_keys ("MẬT KHẨU CỦA BẠN")# Bước 4) Nhấp vào Đăng nhậpsubmit.click ()wait = WebDriverWait (trình duyệt, 5)page_title = browser.titlekhẳng định page_title == "Facebook"

Ảnh chụp mã

Giải thích mã:

  • Dòng mã 1-2: Nhập gói selen
  • Dòng mã 4: Khởi tạo Firefox bằng cách tạo một đối tượng
  • Dòng mã 6: Lấy trang đăng nhập (Facebook)
  • Dòng mã 8-10: Tìm nạp tên người dùng, các hộp nhập mật khẩu và nút gửi.
  • Dòng mã 11-12: Nhập dữ liệu vào hộp nhập tên người dùng và mật khẩu
  • Dòng mã 14: Nhấp vào nút "Gửi"
  • Dòng mã 15: Tạo đối tượng chờ với thời gian chờ là 5 giây.
  • Dòng mã 16: Chụp tiêu đề từ Đối tượng "browser".
  • Dòng mã 17: Kiểm tra chuỗi tiêu đề được chụp bằng "Facebook"

Tóm tắt :

  • Selenium là một công cụ tự động hóa dựa trên web mã nguồn mở.
  • Ngôn ngữ Python được sử dụng với Selenium để thử nghiệm. Nó ít dài dòng hơn nhiều và dễ sử dụng hơn bất kỳ ngôn ngữ lập trình nào khác
  • Các API Python cho phép bạn kết nối với trình duyệt thông qua Selenium
  • Selenium có thể gửi các lệnh Python tiêu chuẩn đến các trình duyệt khác nhau, bất chấp sự thay đổi trong thiết kế của trình duyệt của họ.